构造函数
构造函数是一种特殊的函数,用于在对象创建时初始化对象的属性。每当创建一个新对象时,PHP都会自动调用构造函数。构造函数的名称必须与类名相同,并且可以带有参数。
以下是一个简单的PHP类,其中包含一个名为Person的构造函数:
代码语言:javascript复制class Person {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
}
在上面的示例中,Person类包含两个属性:$name和$age。构造函数使用$name和$age参数来初始化这些属性。在创建一个新的Person对象时,可以像这样调用构造函数:
代码语言:javascript复制$person = new Person('John', 30);
上述代码将创建一个名为$person的新Person对象,并将其$name属性设置为'John',$age属性设置为30。
请注意,构造函数在类中只能有一个,并且不能手动调用。它只能在创建新对象时自动调用。
析构函数
析构函数是另一种特殊的函数,用于在对象销毁时执行清理操作。当对象不再被使用时,PHP会自动调用析构函数。与构造函数一样,析构函数的名称必须与类名相同,并且不带参数。
以下是一个包含析构函数的示例类:
代码语言:javascript复制class MyClass {
public function __construct() {
echo 'Object created.';
}
public function __destruct() {
echo 'Object destroyed.';
}
}
在上面的示例中,MyClass类包含一个构造函数和一个析构函数。构造函数在创建对象时输出一条消息,而析构函数在销毁对象时输出另一条消息。
以下是使用MyClass类创建对象的示例代码:
代码语言:javascript复制$obj = new MyClass();
上述代码将创建一个名为$obj的新对象,并输出一条消息“Object created.”。当脚本结束或对象不再被使用时,PHP将自动销毁该对象,并输出一条消息“Object destroyed.”。
需要注意的是,析构函数的执行时机不受程序员的控制。当对象不再被使用时,PHP会自动调用析构函数。因此,析构函数主要用于执行清理操作,例如关闭数据库连接或释放资源等。