<分区>
我在 PHP 5.6 中的一段代码中绕过一些错误,最后发现错误是由对类的构造函数的过时调用引起的。在这里,我试图将 3 个参数传递给只需要 2 个参数的构造函数。
仍然没有显示任何警告、错误或通知。
错误还是功能?
根据我的理解,下面的代码根本不起作用,但它甚至不会引起问题:
<?php
class x {
function __construct($a) {
}
}
$y = new x(1, 2);
?>
有没有办法强制匹配参数计数?
标签 php constructor
<分区>
我在 PHP 5.6 中的一段代码中绕过一些错误,最后发现错误是由对类的构造函数的过时调用引起的。在这里,我试图将 3 个参数传递给只需要 2 个参数的构造函数。
仍然没有显示任何警告、错误或通知。
错误还是功能?
根据我的理解,下面的代码根本不起作用,但它甚至不会引起问题:
<?php
class x {
function __construct($a) {
}
}
$y = new x(1, 2);
?>
有没有办法强制匹配参数计数?
最佳答案
与任何其他函数一样,您可以传递任意数量的参数(只要传递必要的最小值),以通过 func_get_args
启用可变长度参数列表。 .功能,而不是错误。
关于PHP 调用构造函数的参数多于指定的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33120802/