如果想在對象剛被實例化的時候想初始化一些屬性,或者執行一些函數,就可以利用構造函數
構造函數的一般語法如下:
function __construct(argument1,argument2,...) { //初識化代碼 }
比如舉一個簡單的例子,圖書館用來管理圖書,可能希望知道書名和作者,圖書館館存數量以及目前還有多少本書可借/如下:
Image.png`
-
調用父類構造函數
PHP不會自動調用父類的構造函數,所以需要用parent關鍵字顯示的調用.示例如下
Imagesdcard.png
這樣會得到
Employee constructor called!
Manager constructor called!
如果沒有parent::__construct()
的調用,就只會調用Manager構造函數,如下:
Manager constructor called!
調用無關的構造函數
可以調用與實例化對象沒有任何關系的類構造函數,只需在 _ _construct前面加上類名即可,
如下:
classname::__construct()
上一個例子中如果Employee 和Manager沒有繼承的關系只是同一個庫中的兩個類,Employee構造函數依然可以在Manager構造函數中調用:
Employee::__construct();
這樣調用Employee構造函數將得到與前例相同的結果.