Php 在构造函数中显式设置对象属性还是在方法中隐式设置对象属性?
我有一个类,它具有保存对象的Php 在构造函数中显式设置对象属性还是在方法中隐式设置对象属性?,php,Php,我有一个类,它具有保存对象的$processorObject类属性 class A { public $processorObject; } 对象是在initProcessorObject方法中创建的。此方法是从类A的构造函数调用的。我的问题是initProcessorObject方法是否应返回createdprocessorObject,或者该方法是否应将其分配给类A的$processorObject属性。因此: 1) 在这里,该方法返回对象: public function __co
$processorObject
类属性
class A {
public $processorObject;
}
对象是在initProcessorObject
方法中创建的。此方法是从类A的构造函数调用的。我的问题是initProcessorObject
方法是否应返回createdprocessorObject
,或者该方法是否应将其分配给类A的$processorObject
属性。因此:
1) 在这里,该方法返回对象:
public function __construct() {
$this->processorObject = $this->initProcessorObject();
}
public function initProcessorObject() {
require_once('/some/path/objects.php');
return new processorObject();
}
public function __construct() {
$this->initProcessorObject();
}
public function initProcessorObject() {
require_once('/some/path/objects.php');
$this->processorObject = new processorObject();
}
2) 此处,该方法指定对象:
public function __construct() {
$this->processorObject = $this->initProcessorObject();
}
public function initProcessorObject() {
require_once('/some/path/objects.php');
return new processorObject();
}
public function __construct() {
$this->initProcessorObject();
}
public function initProcessorObject() {
require_once('/some/path/objects.php');
$this->processorObject = new processorObject();
}
我应该选择哪一个?为什么
//编辑:固定变量名两者的作用相同。不管你用哪一个 在这两种情况下,结果完全相同:
在$this->processorObject中,将存储processorObject的对象。是的,我知道。我感兴趣的是哪一个更明显,如果neededIt真的不重要,它会更容易更改,这取决于您的选择,而且也不重要,如果您将来需要更改它,您将只更改代码中的一行:-)谢谢:)。你会选择哪一个?:)第二:)我通常不会从同一个类中的函数返回对象。