在方法中使用外部变量是一种好习惯

时间:2016-08-18 09:43:03

标签: php oop

我发现这项工作:

$var = 'value';

$obj = new myClass();

class myClass{
  function __construct(){
    $this->myFunc($var);
  }
  public function myFunc($var){
    echo $var;
  }
}

但这是一个很好的实践吗?或者我应该这样做?

$var = 'value';

$obj = new myClass($var);

class myClass{

  public $var;

  function __construct($var){
    $this->var = $var;
    $this->myFunc($this->var);
  }

  public function myFunc($var){
    echo $var;
  }
}

或者,如果两者都可以使用,建议何时使用一个,何时使用另一个? 另外,有一个很好的网站,博客,主题,关于PHP的最佳实践教程,包括oop?

编辑:似乎使用变量不输出值,但也没有给出错误。我的初始代码使用常量,我认为它也适用于变量:

define('blabla','value');

$obj = new myClass();

    class myClass{
      function __construct(){
        $this->myFunc(blabla);
      }
      public function myFunc($var){
        echo $var;
      }
    }

1 个答案:

答案 0 :(得分:0)

你应该尝试这样的事情。

$myVar = 'myvalue';

class myClass {
  private $class_var;

  public function __construct($myVar) {
    $this->class_var=$myVar;
  }

  //REST OF CLASS BELOW
}

因此,在声明对象时,您需要传递$ myVar

$myClass = new myClass($myVar);