注:Yaf 里的init 在下默認(rèn)理解為__construct()
class Order{ private $extend = ''; private $order = ''; public function init(){ parent::init(); $this->order = new Order(); $this->extend = new OrderEx(); } public function listAction(){ $this->order->public(); } public function makeAction(){ $this->extend->public(); } }
與以下寫法有什么不同嗎?
class Order{ private $extend = ''; private $order = ''; public function init(){ parent::init(); } public function listAction(){ $order = new Order(); $order->public(); } public function makeAction(){ $extend= new extend(); $extend->public(); } }
在下小菜鳥一枚,希望有個(gè)良好的編程習(xí)慣,有些基礎(chǔ)不踏實(shí) 還望指點(diǎn)
擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗(yàn)。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項(xiàng)目經(jīng)理、高級軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...
上面那樣寫可以保證在當(dāng)前類作用域下的單例,減少重復(fù)寫new不過對于需要那些需要使用時(shí)實(shí)例化的類并不適合寫在這,而且如果你的類是遵循同一interface開發(fā)的,在更換的時(shí)候只需修改init里面的new。不管怎么樣,我還是喜歡有Ioc容器