首頁  >  文章  >  後端開發  >  何時以及為何不推薦透過引用來分配 new 的回傳值?

何時以及為何不推薦透過引用來分配 new 的回傳值?

Susan Sarandon
Susan Sarandon原創
2024-10-24 04:12:30769瀏覽

When and Why Is Assigning the Return Value of new by Reference Deprecated?

引用賦值new 的回傳值棄用

問題陳述

嘗試透過引用賦值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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn