构造方法
每个类都有一个构造方法,用于在创建对象时被自动调用。构造方法主要用于在创建对象时,完成初始化功能。如果在类中没有显式的声明它,PHP会自动生成一个没有参数,且没有任何操作的默认构造方法。当在类中声明构造方法时,默认构造方法将不存在。
构造方法的声明与成员方法的定义类似,其基本语法格式如下所示。
访问控制修饰符 function __construct(参数列表)
{
// 初始化操作
}
在上述语法中,__construct()是构造方法的名称,访问控制修饰符可以省略,默认为public。为了更好地理解构造方法的使用,下面通过代码进行演示。
1 class User
2 {
3 public $name;
4 public function __construct($name = 'xxx')
5 {
6 $this->name = $name;
7 }
8 }
9 $obj1 = new User();
10 $obj2 = new User('Tom');
11 echo $obj1->name; // 输出结果:xxx
12 echo $obj2->name; // 输出结果:Tom
在上述代码中,第6行代码在实例化类的同时完成了成员属性$name的初始化,且第4~7行定义的构造方法为参数$name设置了默认值。因此,当实例化类时,若不传递参数值,则使用默认值。从第11、12行的输出结果可以看出,利用构造方法可以很方便地完成成员属性的初始化操作。除此之外,构造方法与成员方法之间还可以根据需求互相调用。