gpt4 book ai didi

php - Yii2 中的 init() 和 __construct() 方法有什么区别

转载 作者:可可西里 更新时间:2023-11-01 13:16:01 24 4
gpt4 key购买 nike

init() 方法:

public function init()
{
}

__construct() 方法:

public function __construct()
{
}

那么,它们之间有什么区别,应该使用哪个呢?

最佳答案

init() 是从 yii\base\Object 扩展的任何对象的方法(大多数对象都从它扩展)。

来自官方文档:

Besides the property feature, Object also introduces an important object initialization life cycle. In particular, creating a new instance of Object or its derived class will involve the following life cycles sequentially:

  1. the class constructor is invoked;
  2. object properties are initialized according to the given configuration;
  3. the init() method is invoked.

In the above, both Step 2 and 3 occur at the end of the class constructor. It is recommended that you perform object initialization in the init() method because at that stage, the object configuration is already applied.

推荐使用init(),你甚至可以从源代码和扩展中看到它,但在某些情况下,你可以使用__construct()。有一些实现建议,您可以在官方文档的同一页面上找到它 here .

__constuct 是原生 PHP 语言功能,您可以在 this section 中的 PHP 官方文档中阅读更多相关信息。 .

关于php - Yii2 中的 init() 和 __construct() 方法有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31423716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com