death114 发表于 2015-8-25 15:13:32

PHP 构造函数

  void __construct ([ mixed $args [, $... ]] )
    PHP 5 允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。

Note:
如果子类中定义了构造函数则不会隐式调用其父类的构造函数。要执行父类的构造函数,需要在子类的构造函数中调用
parent::__construct()
。如果子类没有定义构造函数则会如同一个普通的类方法一样从父类继承(假如没有被定义为 private 的话)。


1 <?php
2
3 class BaseClass {
4    function __construct() {
5      print "In BaseClass constructor\n";
6    }
7 }
8
9 class SubClass extends BaseClass {
10    function __construct() {
11      parent::__construct();
12      print "In SubClass constructor\n";
13    }
14 }
15
16 class OtherSubClass extends BaseClass {
17   // inherits BaseClass's constructor
18 }
19
20 // In BaseClass constructor
21 $obj = new BaseClass();
22
23 // In BaseClass constructor
24 // In SubClass constructor
25 $obj = new SubClass();
26
27 // In BaseClass constructor
28 $obj = new OtherSubClass();
29 ?>
  
  自 PHP 5.3.3 起,在命名空间中,与类名同名的方法不再作为构造函数。这一改变不影响不在命名空间中的类。
页: [1]
查看完整版本: PHP 构造函数