PHP中的construct函数是一个特殊的方法,用于在实例化一个类的时候自动调用,用来初始化对象。它有以下几种用法:
- 基本用法:在类中声明一个__construct方法,当实例化这个类时,会自动调用该方法进行初始化操作。
class MyClass { public function __construct() { echo 'Object has been initialized'; } } $obj = new MyClass(); // 输出:Object has been initialized
- 带参数的构造函数:可以在__construct方法中传入参数,以便在实例化类时传入初始化参数。
class Person {
public $name;
public function __construct($name) {
$this->name = $name;
echo 'Hello, my name is ' . $this->name;
}
}
$person = new Person('Alice'); // 输出:Hello, my name is Alice
- 父类构造函数的调用:在子类中的构造函数中调用父类的构造函数,以完成父类的初始化操作。
class ParentClass { public function __construct() { echo 'Parent class initialized'; } } class ChildClass extends ParentClass { public function __construct() { parent::__construct(); echo 'Child class initialized'; } } $obj = new ChildClass(); // 输出:Parent class initializedChild class initialized
- 默认参数值:在构造函数中可以给参数设置默认值,当实例化类时如果没有传入参数,则会使用默认值。
class Person {
public $name;
public function __construct($name = 'Unknown') {
$this->name = $name;
echo 'Hello, my name is ' . $this->name;
}
}
$person1 = new Person(); // 输出:Hello, my name is Unknown
$person2 = new Person('Bob'); // 输出:Hello, my name is Bob