作者ottokang (貓貓的大玩偶)
看板PHP
標題Re: [請益] &new 與 new 的差別是?
時間Mon Jul 17 01:28:19 2006
※ 引述《timyau (偉哉!33WR)》之銘言:
: 嗯
: 因為我平常都使用 $item = new Class1;
: 不過有時候會在書上看到 &new
: 我不曉得有什麼差別 @@a
: 可以請各位指導一下嗎?
: 還是用 new 會有什麼問題所以才改用 &new ?
: 感謝指教
PHP 4的時候,建立物件都是用複製的方式,如果只打 $item = new Class1
建構子會回傳複製的物件,也就是建構子還有保有一份用不到的物件
這是很浪費記憶體的方式,因此用$item = & new Class1可以強迫建構子傳回reference
節省記憶體空間,詳情可以看這邊
http://www.php.net/manual/en/language.oop.newref.php
不過PHP也是會進步的,PHP 5已經改成建構子傳回Reference,不需要用到& new
如果你用的是的PHP 5,就放心的使用new吧,& new可以把他丟掉了^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 222.157.113.63
1F:推 timyau:喔...感謝指教。所以我可以不用理他嚕(Php5 in use) 07/17 08:49
2F:推 ottokang:是的~成為歷史的東西看看就好^^ 07/18 16:22