声明函数或方法时,从 PHP 8.0 开始,不建议在可选参数后添加必需参数。这意味着以下函数签名会触发弃用通知:
function foo($param_optional = null, $param_required) {
// ^^ optional parameter , ^^ required parameter
}
从 PHP 8.0 开始:
Deprecated: Required parameter $param_required follows optional
parameter $param_optional in ... on line ...
后续更改
PHP 8.1:必需参数之前的可选参数被视为必需参数
如果在可选参数(即具有默认值的参数)之后有一个 require(即在其签名中没有设置默认值的参数),它会在本质上需要之前创建所有参数,因为调用方还必须显式传递可选参数的值。
转载文章,本文观点不代表本站立场