Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在构造函数中显式设置对象属性还是在方法中隐式设置对象属性?_Php - Fatal编程技术网

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
方法是否应返回created
processorObject
,或者该方法是否应将其分配给类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真的不重要,它会更容易更改,这取决于您的选择,而且也不重要,如果您将来需要更改它,您将只更改代码中的一行:-)谢谢:)。你会选择哪一个?:)第二:)我通常不会从同一个类中的函数返回对象。