php在面向?qū)ο蟛糠钟泻芏嘞嚓P(guān)的魔術(shù)方法,這些方法為面向?qū)ο髮?shí)現(xiàn)提供了便利,本文將詳細(xì)介紹魔術(shù)方法
構(gòu)造方法
大多數(shù)類都有一種稱為構(gòu)造函數(shù)的特殊方法。當(dāng)創(chuàng)建一個(gè)對(duì)象時(shí),它將自動(dòng)調(diào)用構(gòu)造函數(shù),通常用它執(zhí)行一些有用的初始化任務(wù)
構(gòu)造函數(shù)的聲明與其它操作的聲明一樣,只是其名稱必須是兩個(gè)下劃線__construct( )。這是PHP5中的變化;PHP4的版本中,構(gòu)造函數(shù)的名稱必須與類名相同。為了向下兼容,如果一個(gè)類中沒(méi)有名為_(kāi)_construct( )的方法,PHP將搜索一個(gè)與類名相同的方法
void __construct ([ mixed $args [, $... ]] )
如果子類中定義了構(gòu)造函數(shù)則不會(huì)隱式調(diào)用其父類的構(gòu)造函數(shù)。要執(zhí)行父類的構(gòu)造函數(shù),需要在子類的構(gòu)造函數(shù)中調(diào)用 parent::__construct()。如果子類沒(méi)有定義構(gòu)造函數(shù)則會(huì)如同一個(gè)普通的類方法一樣從父類繼承(假如沒(méi)有被定義為 private 的話)
<?phpclass BaseClass { function __construct() { print "In BaseClass constructor\n"; } }class SubClass extends BaseClass { function __construct() { parent::__construct(); print "In SubClass constructor\n"; &