我正在构建一个需要两个参数的类,它们可以通过 传递__constructor
,也可以使用 setter 方法设置。
检查参数是否通过构造函数传递的最佳方法是什么?
我是这样做的:
class Services {
public function __construct(array $configs, array $services)
{
if(isset($configs) AND isset($services)) {
$this->configs = $configs;
$this->services = $services;
}
}
public function setConfigs(array $configs)
{
$this->config = $configs;
}
public function setServices(array $services)
{
$this->services = $services;
}
}
现在这工作正常,但如果这是正确的方法,我不是 100%。困扰我的是,如果参数是通过构造函数传递的,我希望它们都在那里,而不仅仅是一个。
如何防止用户在构造函数中只放置一个参数?