PHP官網定義:
復制代碼 代碼如下:
構造函數是類中的一個特殊函數,當使用 new 操作符創建一個類的實例時,構造函數將會自動調用。當函數與類同名時,這個函數將成為構造函數。如果一個類沒有構造函數,則調用基類的構造函數,如果有的話,則調用自己的構造函數
如a.php一個class a類:
復制代碼 代碼如下:
<?php
class a{
function __construct(){
echo 'class a';
}
}
b.php有個class b類繼承a類:
復制代碼 代碼如下:
<?php
include 'a.php';
class b extends a{
function __construct(){
echo '666666';
//parent::__construct();
}
function index(){
echo 'index';
}
}
$test=new b();
這樣寫的話,b類有自己的構造函數,那麼實例化b類的時候,自動運行構造函數,此時默認不運行父類的構造函數,如果同時要運行父類構造函數,要聲明parent::__construct();
復制代碼 代碼如下:
<?php
include 'a.php';
class b extends a{
function index(){
echo 'index';
}
}
$test=new b();
此時b類沒有自己的構造函數,那麼將默認執行父類的構造函數。