构造函数的责任,它可以做多少?

时间:2016-05-11 07:12:23

标签: php oop constructor

我想知道构造函数是否可以做“深化”的事情,只是初始化。考虑一下:

class Entity
{
    private $data;

    public function __construct(array $datasAlready)
    {
        $this->json_encode($datasAlready);
    }
}
如果没有填充Entity,则{p> $data毫无意义。这样,我强制加载这个。 但是我的老板告诉它不行,理想情况下,构造函数只会执行基本的inicializations,所以:

class Entity
{
    private $data;

    public function __construct(array $datasAlready)
    {
        $this->data = array();
    }

    public function load(array $datasAlready)
    {
        $this->json_encode($datasAlready);
    }
}

甚至不需要构造函数。但是这样我错过了初始化的强制执行。如果我在未填充时开始使用此对象该怎么办?

1 个答案:

答案 0 :(得分:1)

构造函数几乎与普通函数一样,你可以在其中做任何事情。 但这不是最好的实践。

如果你没有在类中描述构造函数,将使用默认的空构造函数。