属性v方法变量


Properties v method variables

新的PHP OOA和有两个相关的问题:

class foo {
    private $string = null;
    private $some_trivial_flag = false;
    1)public function help_doing_some_stuff() {
    2)*public function help_doing_some_stuff($some_trivial_flag)* {
         if(!$this->some_trivial_flag(..) ...
    }
public function do_some_stuff() {
    1)  $this->help_doing_trivial_stuff(); 
    2)  *$this->help_doing_trivial_stuff$($this->some_trivial_flag);*    
    }
}

class foo {
   private $string = null;
   public function help_doing_some_stuff($some_trivial_flag) {
      if(!$this->some_trivial_flag(..) ...
   }
  public function do_some_stuff() {
     $some_trivial_flag = false;
     $this->help_doing_trivial_stuff($some_trivial_flag);
  }

是最好将类中使用的每个变量声明为属性,还是保留一些声明在类方法中?此外,如果您已将其声明为属性,您是否仍应在方法参数列表?

将需要在成员函数调用之间保持状态的变量声明为成员变量

选择什么变量作为函数的参数是完全无关的。