面向对象中的构造函数

如果想在对象刚被实例化的时候想初始化一些属性,或者执行一些函数,就可以利用构造函数
构造函数的一般语法如下:

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构造函数将得到与前例相同的结果.