
__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()函数执行顺序详解:构造函数是如何被调用以及其执行步骤是什么?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1283053.html
微信扫一扫
支付宝扫一扫