我想知道构造函数是否可以做“深化”的事情,只是初始化。考虑一下:
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);
}
}
甚至不需要构造函数。但是这样我错过了初始化的强制执行。如果我在未填充时开始使用此对象该怎么办?
答案 0 :(得分:1)
构造函数几乎与普通函数一样,你可以在其中做任何事情。 但这不是最好的实践。
如果你没有在类中描述构造函数,将使用默认的空构造函数。