thinkphp中构造函数_construct()与_initialize()的区别
熟悉THINKPHP基本上都很熟悉_initialize()这个方法,我们似乎也很少去使用_construct() ,除非自己写插件,否则还真是很少用到。
今天查看代码突然看到_construct().
创建的TestAction.class.php文件
<?php class TestAction extends Action{ public function __construct(){ echo 'test'; } } ?>
创建的FfAction.class.php文件
<?php class FfAction extends TestAction{ public function __construct(){ echo 'ff'; } function index(){ } } ?>
运行子类FfAction里的index()可以看到输出的结果:
ff
如果将子类改为:
<?php class FfAction extends TestAction{ public function __construct(){ parent::__construct(); echo 'ff'; } function index(){ } } ?>
运行结果为;
testff
在执行子类的构造函数时并不会自动调用父类的构造函数,如果你要调用的话,那么要加上parent::__construct()
当我们把上述的构造方法改为THINKPHP_initialize()方法时运行会发现:结果与前面的一致。
本文出自:琅枫个人博客。如需转载请注明出处!
本文出处:"https://www.langfujun.top/learn/php/103.html"
如果您觉得文章对你有帮助,可以进行打赏。
打赏多少,您高兴就行,谢谢您对琅枫博客的支持! ~(@^_^@)~
微信打赏

支付宝打赏
