0

メンバー関数からクラス メンバーにアクセスする場合、使用する義務があります$thisか? それともメンバーの名前だけでもいいですか?

4

4 に答える 4

4

を使用する$thisと、オブジェクト メンバーと、単なるローカル変数である変数が区別されます。例えば

object x {
   public $z = 'hello';
   function y() {
      $z = 'there';
      echo $z; // there
      echo $this->z; // hello
   }
   function z() {
       echo $z; // undefined variable/warning/error.
   }
}
于 2012-07-14T15:30:45.010 に答える
2

あなたがする必要があり$thisます。それが必須です。

于 2012-07-14T15:29:59.703 に答える
2

$thisはい、クラス メンバーを参照するために使用する必要があります。self::を使用して静的クラス メンバーを参照することもできます。これがない$thisと、現在の関数で宣言された変数、または使用して宣言されたグローバル変数を意味するローカル変数のみを参照できます。global

PHP クラスの詳細については、PHP: クラスとオブジェクトを参照してください。

于 2012-07-14T15:29:59.737 に答える
2

PHP クラスでは、静的メンバー変数またはインスタンス メンバー変数を使用できます。

インスタンスメンバー変数の場合は、でアクセスする必要があります。$this->inst_variable 静的メンバー変数の場合は、self::$my_static

$this または self を使用していない場合は、ローカル変数と見なされます。

于 2012-07-14T15:34:53.867 に答える