海印网
海印网

PHP ??construct()函数执行顺序详解:构造函数是如何被调用以及其执行步骤是什么?

admin数码00

PHP ??construct()函数执行顺序详解:构造函数是如何被调用以及其执行步骤是什么?-第1张图片-海印网

__construct() 函数执行顺序详解

问题:

php 中的 __construct() 函数是怎么调用的,执行顺序是如何的?

回答:

立即学习“PHP免费学习笔记(深入)”;

__construct() 函数是类的构造函数,在创建新对象时自动调用。它的执行顺序如下:

  1. 静态属性分配:首先,类的所有静态属性(如 self::$instance)被分配为默认值。
  2. 构造函数调用:当执行 new myclass() 时,该类的 __construct() 函数被调用。
  3. 实例属性初始化:构造函数执行后,类的所有实例属性(如 $instance)被初始化。
  4. 静态属性初始化:随后,类的所有静态属性被再次初始化,使用构造函数中设置的值(如 self::$instance = 'instance')。

举例:

以下代码演示了 __construct() 函数的执行顺序:

class SelfTest {
    static $instance;

    public function __construct() {
        self::$instance = 'instance';
    }

    public function tank() {
        return self::$instance;
    }
}

$str = new SelfTest();
echo $str->tank();

登录后复制

在该示例中:

  1. 首先分配静态属性 self::$instance 为 null。
  2. 当 new selftest() 被调用时,__construct() 函数被调用。
  3. 在构造函数中,self::$instance 被初始化为 'instance'。
  4. 构造函数返回后,静态属性 self::$instance 再次被初始化为 'instance'。
  5. tank() 方法返回 'instance',因为它从静态属性中检索其值。

以上就是PHP __construct()函数执行顺序详解:构造函数是如何被调用以及其执行步骤是什么?的详细内容,更多请关注其它相关文章!

Tags: 函数属性

Sorry, comments are temporarily closed!