我想知道这两种编程风格的优点和缺点是什么,它只是一种品味问题还是一种理想的方式?
使用方法返回值作为另一个方法的参数:
public function add($data)
{
$this->uploadFilesToPreflight(
$this->addOrderFilesToDB(
$data['shop'],
$data['filesData']
)
);
}
VS在方法1中设置受保护的类变量,并将其用作方法2参数:
public function add($data)
{
//does some stuff and sets $orderFilesArray
$this->addOrderFilesToDB($data['shop'], $data['filesData']);
$this->uploadFilesToPreflight($this->orderFilesArray);
}
答案 0 :(得分:0)
问题是,该课应该是什么?班级有州吗?
如果该类应该是一个服务,其中add($data)
可以被多次调用,并且行为不应该改变,那么第一个选项会更好。
如果班级有状态,并且它的行为应该通过调用add($data)
来改变,那么第二个选项就可以了,但你必须意识到这可能会导致副作用,如果班级有其他依赖$this->orderFilesArray
的方法。
为了更好地回答最佳选项,您必须发布更广泛的课程背景。