我有2个代码的示例1
1) - 在第一个例子中 - 第一个功能返回结果并将其传递给第二个功能。
$goods_id = $_POST['goods_id'];
$goods_category = $this->getCategory($goods_id);
$goods_list = $this->getGoodsList($goods_category);
function getCategory($goods_id){
...
return $goods_category;
}
function getGoodsList($goods_category){
...
return $goods_list;
}
2) - 在第二个例子中 - 第一个函数使用第二个函数来获取值,然后返回结果。
$goods_id = $_POST['goods_id'];
$goods_list = $this->getGoodsList($goods_id);
function getGoodsList($goods_id){
...
$goods_category = $this->getCategory($goods_id);
...
return $goods_list;
}
function getCategory($goods_id){
...
return $goods_category;
}
我应该使用哪些代码示例($ goods_category将不会在其他任何地方使用)?
答案 0 :(得分:1)
在回答这个问题之前,您应该完成以下先决条件:
::getGoodsList()
和::getCategory($goods_id)
方法吗?::getCategory($goods_id)
方法。 2.您是否需要再次在代码中使用下面的项目类别。回答4.1为“否”也会产生4.2“否”。如果4.1。是“是”和4.2。 “是”,然后将::getCategory($goods_id)
声明为public
并使用您的选项#1。即将类别分配给$goods_category
并在下面的任何位置使用它。
如果4.1。是“是”和4.2。 “否”,然后将::getCategory($goods_id)
声明为public
,您可以将代码重写为
$goods_list = $class->getGoodsList($class->getCategory($goods_id));
请注意,应该避免3-4次嵌套方法调用。 2可能很好(我的口味),但超过5在一行将使线长和不可读。但是,这一切都取决于应用程序逻辑和内存使用情况以及其他内容,因此不是通用建议。
如果4.1。是“不”和4.2。是“否”,如果你不打算扩展类,或者你不需要类 - 后代中的方法并使用你的方法#2,则将其声明为protected
或private
: / p>
class Util {
public function getGoodsList($goods_id) {
...
$goods_category = $this->getCategory($goods_id);
...
return $goods_list;
}
protected function getCategory($goods_id) {
...
return $goods_category;
}
}