首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按引用传递呼叫时间已被废弃。

按引用传递呼叫时间已被废弃。
EN

Stack Overflow用户
提问于 2012-05-29 12:35:08
回答 2查看 5.5K关注 0票数 4

可能重复:

Call-time pass-by-reference has been deprecated;

我的Kohana站点,在库文件中获取此警报。

代码语言:javascript
复制
Call-time pass-by-reference has been deprecated

那条问题线:

代码语言:javascript
复制
call_user_func('Formo_'.$name.'::load', & $this);

我怎么才能解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-29 12:36:36

&之前删除$this

PHP5不需要添加-默认情况下,所有对象都作为对象标识符传递,不需要像PHP4所要求的那样通过传递引用来模拟。

票数 7
EN

Stack Overflow用户

发布于 2012-05-29 12:40:33

要在php5中通过引用传递变量,需要在函数声明中使用&。当你调用这个函数时不会。

代码语言:javascript
复制
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

上面的链接清楚地解释了错误。

注意:函数调用中没有引用符号--仅在函数定义上。仅函数定义就足以通过引用正确传递参数。从PHP5.3.0开始,您将收到一条警告:当您使用& in (&$a);.

时,不建议使用“按引用传递调用时间”。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10799263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档