通过方法或类传递参数?

时间:2015-11-21 20:23:24

标签: php oop parameter-passing

我有一个包含多个方法的类。所以我想知道哪种方法更好?

通过方法传递:

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种方法。

1 个答案:

答案 0 :(得分:0)

从设计的角度来说,我会去上课。它允许您只传递一次参数。它还会删除您要在其中调用方法的每个方法/函数中对参数的依赖性。

两者之间的性能比较是可以忽略的(reference)。