我正在使用joomla,並且已經通讀了API,並且我注意到具有函數的JFactory類返回對象的引用,但從互聯網收集的示例在使用函數時不使用&
。PHP返回引用 - '&'在調用者中是必需的?
說例如Jfactory::getSession()
,它返回對全局會話的引用。 documentation顯示其定義爲function &getSession(params){code}
- 明確定義參考回報。然而,in this example,他們稱它爲$session = JFactory::getSession();
它不應該是$session =& JFactory::getSession();
?
它在php documentation中說明函數中有&
,調用者中有=&
。我也經歷了C編程,如果我錯過了這樣的事情,將會出現諸如「無效指針轉換」之類的錯誤 - 這不是一個好的編程習慣。
正確的做法是什麼?
附加信息:
我使用的是Joomla 1.7和我創建一個組成部分。我在工作XAMPP使用PHP 5.3.8
現代PHP版本總是將對象作爲引用返回,所以'=&'不再是必需的,並且實際上會拋出警告消息。使用'=&'的代碼要麼被寫得很糟糕,要麼老舊,或者試圖在儘可能多的PHP版本上工作,因此無論如何定義都很糟糕。 –
這只是讓我想起Joomla究竟有多可怕。 –
可能重複[PHP框架支持遺留PHP4?](http://stackoverflow.com/questions/1714023/php-framework-support-for-legacy-php4) – mario