initialize()函数的出现是为了我们可以在子类中同时调用父类与子类的构造函数。
想要搞明白最简单方法的就是打开TP的源码,最靠谱。
路径:ThinkPHP3.2.3/ThinkPHP/Library/Think/Controller.class.php.(△Controller是一个抽象类△)
我们可以看到
/**
* 架构函数 取得模板对象实例
* @access public
*/
public function __construct() {
Hook::listen('action_begin',$this->config);
//实例化视图类
$this->view = Think::instance('Think\View');
//控制器初始化
if(method_exists($this,'_initialize'))
$this->_initialize();
}
可以看出,_initialize()具备构造函数的功能纯粹是因为它正好在__construct()里而已(当实例化类时,构造函数__construct运行,如果当前类存在_initialize()方法,顺带执行了_initialize())
本文解析了ThinkPHP框架中_initialize()函数的作用,详细介绍了该函数如何在__construct()构造函数中被调用,实现子类同时调用父类与子类构造函数的过程。
2072

被折叠的 条评论
为什么被折叠?



