問題陳述
嘗試透過引用賦值new 的傳回值觸發PHP 錯誤「不建議透過引用分配new 的回傳值。」
深入解釋
嘗試分配以下結果時會發生此錯誤使用引用運算符(& ) 將new(用於建立新物件)新增至變數。在 PHP4 中,這個習慣用法通常用來將物件的參考傳遞給另一個變數。然而,在 PHP5 中,由於潛在的誤用和混亂,這種做法已被棄用。
解
分配物件引用的正確語法是:
<code class="php">$variableName =& $objectName;</code>
在提供的範例中,程式碼應該是:
<code class="php">$obj_md =& $mdb2;</code>
附加說明
已棄用的習慣用法將new 的回傳值直接指派給使用引用運算子的變數。例如:
<code class="php">$obj_md =& new MDB2();</code>
這種做法不僅在 PHP5 中已被棄用,而且如果之前定義了該變量,還會導致意外行為。
為了避免棄用警告並確保程式碼行為正確,使用修訂後的語法和 =& 運算子來分配對物件的引用。
以上是何時以及為何不推薦透過引用來分配 new 的回傳值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!