如果想在对象刚被实例化的时候想初始化一些属性,或者执行一些函数,就可以利用构造函数
构造函数的一般语法如下:
function __construct(argument1,argument2,...) { //初识化代码 }
比如举一个简单的例子,图书馆用来管理图书,可能希望知道书名和作者,图书馆馆存数量以及目前还有多少本书可借/如下:
-
调用父类构造函数
PHP不会自动调用父类的构造函数,所以需要用parent关键字显示的调用.示例如下
这样会得到
Employee constructor called!
Manager constructor called!
如果没有parent::__construct()
的调用,就只会调用Manager构造函数,如下:
Manager constructor called!
调用无关的构造函数
可以调用与实例化对象没有任何关系的类构造函数,只需在 _ _construct前面加上类名即可,
如下:
classname::__construct()
上一个例子中如果Employee 和Manager没有继承的关系只是同一个库中的两个类,Employee构造函数依然可以在Manager构造函数中调用:
Employee::__construct();
这样调用Employee构造函数将得到与前例相同的结果.