__construct() 函数执行顺序详解
问题:
php 中的 __construct() 函数是怎么调用的,执行顺序是如何的?
回答:
立即学习“PHP免费学习笔记(深入)”;
__construct() 函数是类的构造函数,在创建新对象时自动调用。它的执行顺序如下:
- 静态属性分配:首先,类的所有静态属性(如 self::$instance)被分配为默认值。
- 构造函数调用:当执行 new myclass() 时,该类的 __construct() 函数被调用。
- 实例属性初始化:构造函数执行后,类的所有实例属性(如 $instance)被初始化。
- 静态属性初始化:随后,类的所有静态属性被再次初始化,使用构造函数中设置的值(如 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();
登录后复制
在该示例中:
- 首先分配静态属性 self::$instance 为 null。
- 当 new selftest() 被调用时,__construct() 函数被调用。
- 在构造函数中,self::$instance 被初始化为 'instance'。
- 构造函数返回后,静态属性 self::$instance 再次被初始化为 'instance'。
- tank() 方法返回 'instance',因为它从静态属性中检索其值。
以上就是PHP __construct()函数执行顺序详解:构造函数是如何被调用以及其执行步骤是什么?的详细内容,更多请关注其它相关文章!
Article Links:https://www.hinyin.com/n/258725.html
Article Source:admin
Article Copyright:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。