在php 5中,提供了構(gòu)造函數(shù),析構(gòu)函數(shù),對象克隆的方法,重載方法等.
1、構(gòu)造函數(shù)__construct
如果在類申明中__construct函數(shù),將被當(dāng)成一個構(gòu)造函數(shù)并且在對象建立時被執(zhí)行,但在php4中,構(gòu)造函數(shù)的名稱與類名相同就是構(gòu)造函數(shù)哦,這一點有一些不同。
2、析構(gòu)函數(shù)__destruct
如果在php類中申明了,在對象被銷毀時調(diào)用__destruct函數(shù)
下面來看個實例,代碼如下:
- <?php
- class Session
- {
- public function __construct()
- {
- echo '構(gòu)造函數(shù)執(zhí)行';
- }
- public function __destruct()
- {
- echo '析構(gòu)函數(shù)執(zhí)行';
- }
- }//開源代碼Vevb.com
- $Obj = new Session;
- unset($Obj);//刪除對象, __destruct()會被調(diào)用的
- //輸出
- //構(gòu)造函數(shù)執(zhí)行
- /析構(gòu)函數(shù)執(zhí)行
- ?>
上面在使用new創(chuàng)建對象時就執(zhí)行了__construct,對象結(jié)束時就執(zhí)行了__destruct()
3、__clone()克隆函數(shù),代碼如下:
- <?php
- class Session
- {
- public $age = 20;
- public $sub = null;
- public function __clone()
- {
- $this->sub=clone $this->sub;
- }
- }
- class Session 2
- {
- public $value=5;
- }
- $s = new Session;
- $s->sub=new Session 2;
- $s2 = clone $s;
- $s->sub->$value =10;
- echo $s2->sub->$value;
- ?>
4 現(xiàn)在來看關(guān)于重載函數(shù)__get ,__set,__call函數(shù),代碼如下:
- <?php
- class Session
- {
- protected function __call($func,$para)
- {
- echo '方法不存在:’func." ".'參數(shù)為:'." ";
- print_r($para);
- }
- }
- $s=new Session ();
- echo $c->getNames('hello','you');
- /*
- 輸出:
- 方法不存在:getNames
- 參數(shù)為:
- Array
- (
- [0] => hello
- [1] => you
- )
- */
- ?>
新聞熱點
疑難解答