init()
method:
public function init()
{
}
__construct()
法:
public function __construct()
{
}
那么,它们之间的区别是什么,应该使用哪个?
init()
是任何从yii'base'Object
扩展的对象的方法(大多数对象都是从它扩展的)。
来自官方文档:
除了属性特性,Object还引入了一个重要的对象初始化生命周期。特别是,创建一个新的对象或其派生类的实例将涉及以下内容生命周期顺序:
- 类构造函数被调用;
- 对象属性根据给定配置初始化;
- init()方法被调用。
在上面的例子中,步骤2和步骤3都发生在课程的最后构造函数。建议执行对象初始化操作在init()方法中,因为在那个阶段,对象配置
建议使用init()
,您甚至可以从源代码和扩展中看到它,但在某些情况下,您可以使用__construct()
。这里有一些建议来实现它,你可以在这里的官方文档的同一页面找到它。
__constuct
是一个本地的PHP语言特性,你可以在PHP官方文档中阅读更多的信息。