【发布时间】:2012-07-03 16:07:09
【问题描述】:
我的问题是对以下问题的跟进:What does it mean to start a php function with an ampersand?
问题中使用的示例代码是这样的:
class FacebookRestClient {
...
public function &users_hasAppPermission($ext_perm, $uid=null) {
return $this->call_method('facebook.users.hasAppPermission',
array('ext_perm' => $ext_perm, 'uid' => $uid));
}
...
}
既然我们已经有了引用 ($this),为什么还要引用?
chosen answer 引用PHP manual on Returning References 中的以下内容
当您想使用函数查找应该将引用绑定到哪个变量时,按引用返回非常有用。不要使用按引用返回来提高性能。引擎会自行自动优化。仅在您有正当的技术理由时才返回参考资料。
second answer 给出了 PHP4 需要这种技术的原因。但是我没有找到为什么 PHP5 需要它的答案非常有说服力。
有人知道在 PHP5 中使用这种技术的任何正当理由吗?
【问题讨论】: