带下划线的构造函数

时间:2019-05-02 10:43:53

标签: php magento2

我在Magento2自定义模块的模型中有以下代码。据我所知,可以使用__construct()来定义构造函数,但是在下面的代码中,他们使用了_construct()。我想知道两者之间的区别。可以是一个函数吗?

use \Magento\Framework\Model\ResourceModel\Db\AbstractDb;

class Post extends AbstractDb
{
    /**
     * Post Abstract Resource Constructor
     * @return void
     */
    protected function _construct()
    {
        $this->_init('myblog', 'post_id');
    }
}

2 个答案:

答案 0 :(得分:0)

_construct不是其构造函数,它不是其他方法那样的方法。其中__construct是默认构造函数。

有关详细信息,(__construct and _construct)

答案 1 :(得分:0)

如果有人对此有任何困惑,我会在这里回答并提及。关于Magento2,单下划线构造方法是Magento 1的遗留代码,在\ Magento \ Framework \ Model \ AbstractModel的实际_construct方法中调用。