个人博客 > 学无止境 > PHP > thinkphp中构造函数_construct()与_initialize()的区别

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.phpfeng.cn/learn/php/103.html"

如果您觉得文章对你有帮助,可以进行打赏。
打赏多少,您高兴就行,谢谢您对琅枫博客的支持! ~(@^_^@)~

微信打赏

琅枫博客微信号

支付宝打赏

琅枫博客个人支付宝
本文关键词: thinkphp 构造函数



你想在庞大的互联网上留下一丝足迹?

我不想成为一个庸俗的人。十年百年后,当我们死去,质疑我们的人同样死去,后人看到的是裹足不前、原地打转的你,还是一直奔跑、走到远方的我?

点我了解如何搭建个人博客?