我的Kohana网站,在图书馆文件中获取此提醒。
Call-time pass-by-reference has been deprecated
多数问题:
call_user_func('Formo_'.$name.'::load', & $this);
我该如何解决这个问题?
答案 0 :(得分:6)
删除&
之前的$this
。
PHP5不需要添加 - 默认情况下,所有对象都作为对象标识符传递,不需要通过引用来模仿它,因为它是PHP 4所需的。
答案 1 :(得分:3)
要在php5中通过引用传递变量,您需要在函数声明中使用&
。不是在你打电话给这个功能时。
function call_user_func($param1, &$param2) {
// $param2 will be a reference
// as mentioned by damianb though objects are by default references
// http://php.net/manual/en/language.oop5.references.php
}
当调用它时,正常传递你的参数,param2将通过引用传递。
http://php.net/manual/en/language.references.pass.php
以上链接清楚地解释了错误。
注意:函数调用上没有引用符号 - 仅在函数上 定义。单独的函数定义足以正确传递 参考的论点。从PHP 5.3.0开始,您将收到警告 当你使用& amp;时,不推荐使用“call-time pass-by-reference” 在foo(& $ a);。