我对 OOP 很陌生,但是我有一个类,并且在创建每个对象后,我将它们推入一个数组中(我认为没有办法遍历类中的每个对象)。我的客户端仍在 PHP4 上,所以我遇到了一些麻烦。
由于版本 4 没有 __construct 方法,我自己做了:
function construct() {
global $LIST;
array_push($LIST, &$this);
}
没有&
before $this
,它只是将一个空对象添加到数组中,因为在实例化之后,我更改了每个对象的一些属性。不过,现在它向我发出了警告:
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of array_push(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file.
我试图压制警告,但前面的 @array_push()
不起作用。显然,error_reporting(0)
除非它在我的根文件中(所有这些东西都在很多很多页面的包含中),否则它不会起作用。我也无权访问 php.ini 文件。