PHP 构造函数
1. PHP __construct 函数
构造函数允许您在创建对象时自动初始化该对象的属性。
1.1 构造函数的定义
如果您在类中创建了一个 __construct() 函数,PHP 将在您通过该类创建对象(实例化)时自动调用此函数。
注意,构造函数名是以两个下划线(__)开头的!这是 PHP 魔术方法的共同特征。
1.2 实战示例:单参数构造
在下面的例子中,我们为 Fruit 类添加了一个构造函数。通过在实例化时传入参数,我们不再需要显式调用 set_name() 方法:
<?php
class Fruit {
public $name;
public $color;
// 构造函数:在对象创建时被调用
function __construct($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
}
// 创建对象时直接传入参数
$apple = new Fruit("Apple");
echo $apple->get_name();
?>1.3 实战示例:多参数构造
构造函数可以接受多个参数,从而在对象诞生之初就一次性配置好多个属性:
<?php
class Fruit {
public $name;
public $color;
function __construct($name, $color) {
$this->name = $name;
$this->color = $color;
}
function get_name() {
return $this->name;
}
function get_color() {
return $this->color;
}
}
$apple = new Fruit("Apple", "red");
echo "名称: " . $apple->get_name();
echo "<br>";
echo "颜色: " . $apple->get_color();
?>2. 为什么使用构造函数?
既然你已经学会了如何定义类,如果不给它个“出生证明”(构造函数),那每个对象都要手动设置属性,也太累了点。
使用构造函数的主要优势在于减少代码冗余。正如上述示例所示,我们省去了手动调用 set_name() 及其相关方法的步骤。这不仅让实例化过程更简洁,还能确保对象在创建后立即处于可用且合法的初始状态。