修正PHP 5.4 呼叫時間傳遞參考問題
PHP 5.4 的引入標誌著呼叫時間傳遞的刪除-透過引用,導致的可怕的“調用時間通過引用已刪除”錯誤。當變數作為舊程式碼中的參考傳遞到函數時,會發生此錯誤。
輕鬆修復或完全重寫?
此問題沒有簡單的修復方法。問題源自於函數定義中聲明引用的方式,而不是函數呼叫的方式。 PHP 的文檔指出「函數呼叫上沒有引用符號 - 僅在函數定義上。」
重寫舊程式碼
自從 PHP開始為呼叫發出棄用錯誤以來-5.3版本中的時間傳遞引用,強烈建議重寫遺留程式碼以避免潛在的相容性問題future.
範例重寫
取代:
// Wrong way! myFunc(&$arg); // Deprecated pass-by-reference argument function myFunc($arg) { }
使用:
// Right way! myFunc($arg); // pass-by-value argument function myFunc(&$arg) { }
透過在函數中聲明引用定義,您確保PHP 將透過引用傳遞參數,而不需要在函數中使用已棄用的語法來電。
以上是如何修復 PHP 5.4「呼叫時傳遞參考已被刪除」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!