76得票6回答
有没有可能对多个类型进行类型提示?

我可以在类型提示中允许两种不同的类型吗? 例如,参数$requester可以是User或File中的任意一种:function log (User|File $requester) { }

57得票6回答
有没有一种方法可以在不创建变量的情况下捕获异常?

在 PHP 中,我有时会使用 try/catch 来捕获一些异常:try { ... } catch (Exception $e) { // Nothing, this is a test that an exception is thrown. } 使用这种代码,我最终得到了...

39得票6回答
必填参数$xxx在可选参数$yyy之后。

Deprecated: Required parameter $xxx follows optional parameter $yyy in... 升级到PHP 8.0后,运行像这样的代码会抛出此错误:function test_function(int $var1 = 2, int $var...

39得票16回答
PHP允许使用命名参数吗?这样在函数调用时可以省略可选参数吗?

在 PHP 中,是否可以像 Python 一样,在调用函数/方法时指定命名可选参数,跳过您不想指定的参数? 例如:function foo($a, $b = '', $c = '') { // whatever } foo("hello", $c="b...

37得票4回答
Laravel应用在升级到PHP 8后停止工作

更新我的 Mac 到 PHP 8 后,Laravel 应用停止工作,这是我收到的错误信息:Deprecated: Method ReflectionParameter::getClass() is deprecated in /Users/.../Sites/.../vendor/larave...

30得票4回答
PHP中是否有"nullsafe运算符"?

有没有办法使用某种安全导航运算符编写以下语句?echo $data->getMyObject() != null ? $data->getMyObject()->getName() : ''; 那么它看起来就像这样:echo $data->getMyObject()?-...

29得票2回答
如何在Doctrine中使用PHP8属性而不是注释?

这是我想要使用的:#[ORM\Column(type: "string")] 使用以下内容替换:/** * @ORM\Column(type="string") */ 但我遇到了这个错误:(error: Class 'Column' is not ...

18得票4回答
PhpStorm中的“Add #[Pure] attribute”检查是用来检查什么的?

我在 Laravel 项目中有一个非常简单的 FormRequest 类。这个类有两个方法,都返回一个由某个方法部分填充的简单数组,但是 IDE 处理它们的方式不同。<?php namespace App\Http\Requests; class VerifyPhoneNumber ...

17得票2回答
PHP 8,函数别名兼容性问题:`getdir()`

在测试我的php脚本是否与php-8兼容时,我卡在了以下代码:function getDir($a, $o = 2) { $d = Floor($a / $o); return ($d % 2 === 0); } 在 php-8 之前,这个是正常工作的,但是在 php-8 中会...

15得票5回答
PHP有“命名参数”吗?这样早期的参数可以省略,后面的参数可以写入吗?

在PHP中,您可以调用没有传递参数的函数,只要这些参数具有默认值,就像这样:function test($t1 ='test1',$t2 ='test2',$t3 ='test3') { echo "$t1, $t2, $t3"; } test(); 然而,假设我只...