Joomla 为什么 JFactory 经常通过引用传递

Joomla why JFactory is often passed by reference

我在几个项目上使用 joomla,但我之前没有在其中任何项目上启用 E_STRICT。自从我昨天这样做以来,严格标准:只应通过引用分配变量 错误被抛出指向当前模板的 index.php 并打破了我的布局。经过一番谷歌搜索后,php 在 $var =& JFactory::getDocument(); 调用中保持 & 似乎毫无意义但看起来有太多 joomla 代码以这种方式使用它,所以我对简单地删除 & 符号持谨慎态度,因为我不完全确定它应该做什么并且不会以任何方式影响应用程序的行为。我的问题是 - 删除 & 符号是否安全,如果不需要,为什么这个 & 符号实际上存在于代码中。

通过引用赋值只是意味着函数可以修改变量,但是从 PHP 5..3

开始,以下两个都已弃用
  • 现已弃用通过引用分配 new 的 return 值。
  • 调用时间传递引用现已弃用。

您只需删除 & 即可变成:

$doc = JFactory::getDocument();