用&符号开始一个PHP函数是什么意思?
我在这个代码中使用Facebook库:
class FacebookRestClient { ... public function &users_hasAppPermission($ext_perm, $uid=null) { return $this->call_method('facebook.users.hasAppPermission', array('ext_perm' => $ext_perm, 'uid' => $uid)); } ... }
在函数定义的开头是什么意思,我怎么去使用这样的库(在一个简单的例子中)
函数名之前的&符号表示该函数将返回对variables的引用,而不是该值。
当您想使用函数来查找引用应该绑定到哪个variables时,通过引用返回非常有用。 不要使用引用返回来提高性能。 引擎将自动优化它。 只有当你有合理的技术理由才能返回参考。
请参阅返回参考 。
如前所述,它正在返回一个参考。 在PHP 4中,对象是按值赋值的,就像任何其他的值一样。 这非常不直观,与大多数其他语言的工作方式相反。
为了解决这个问题,引用被用于指向对象的variables。 在PHP 5中,引用是很less使用的。 我猜这是遗留的代码或代码,试图保持向后兼容PHP 4。