PHP 调用构造函数的参数比指定的多

Xen*_*ite 3 php constructor

我在PHP 5.6中的一段代码中盘旋了一些错误,最后发现该错误是由对类的构造函数的过时调用引起的。在这里,我尝试将 3 个参数传递给只需要 2 个参数的构造函数。

仍然没有显示警告、错误或通知。

错误或功能?

根据我的理解,以下代码根本不起作用,但它甚至不会引起故障:

<?php

class x {
    function __construct($a) {
    }
}

$y = new x(1, 2);

?>
Run Code Online (Sandbox Code Playgroud)

有没有办法强制匹配参数计数?

dec*_*eze 5

与任何其他函数一样,您可以传递任意数量的参数(只要传递必要的最小值),以通过func_get_args. 功能,而不是错误。