【发布时间】:2016-02-24 05:03:22
【问题描述】:
我有一个包含多个方法的类。所以我想知道哪种方法更好?
通过方法传递:
class cls {
function method1($var){
echo $var;
}
function method2($var){
echo $var;
}
}
$obj = new cls;
$obj->methodX($var); // X can be 1,2
按类传递:
class cls {
public $var;
function __construct($var){
$this->var = $var;
}
function method1(){
echo $this->var;
}
function method2(){
echo $this->var;
}
}
$obj = new cls($var);
$obj->methodX(); // X can be 1,2
注意:我在所有方法中都需要$var。实际上也有近 10 种方法。
【问题讨论】:
-
对此没有一般的答案。这取决于
$var与该类相关的含义。如果它是一个以某种方式描述对象的值,或者是对象的属性或其行为,那么它应该被建模为这样。如果它与类或对象无关,而只是运行时参数或输出添加,则应在运行时根据需要提供。 -
@arkascha 我明白了,谢谢。
-
你应该解释你真实的商业案例,而不是试图从一个人为的问题中得到答案。
标签: php oop parameter-passing