Labels

2005 (136) 2004 (99) 2006 (84) 2007 (41) 2008 (41) 簡單生活 (24) 2012 (14) 網頁設計 (14) 電腦技巧 (13) 2009 (12) 2010 (10) PHP (10) 台灣晃一晃 (9) Learn Note (7) 地球這麼大 (6) 2011 (5) Mysql (3) Smarty (3) Vista (3) 手機待吐 (2) 2014 (1) 2021 (1) Composer (1) Laravel (1) MAC (1) MAMP (1) 新新人類新科技 (1)

20120315

PHP 5.3 到底在搞甚麼東西

這個問題困擾阿批很久了,尤其升級PHP5.3之後,原本沒有問題的網頁都出現了以下警告訊息:
"Assigning the return value of new by reference is deprecated in XXX.php"
有個快速的解決方式就是把版本降級回去~OMG~那可能就無法用PHP5.3的新修正功能。
於是乎,研究了一下,其實解決方法很簡單。
1.找到出現警告訊息的行數
2.例如我找到引起警告的程式是: $widget =& new Pager_HtmlWidgets($this);
3.拿掉&符號:$widget =new Pager_HtmlWidgets($this);
4.大功告成謝謝大家!
以下再補充幾點網路上所收集到的資訊:
  1. PHP5的物件複製是採用引用(Reference)的方式;
  2. 若不採用引用方式,則需在複製時加入關鍵字:clone;
  3. 若在複製的過程中,同时要變更某些屬性,則增加函數_clone();