0

私はゆっくりとオブジェクト指向のPHPを理解しようとしていますが、$ this->で自分の道を見つけていますが、慣れ親しんだ領域に固執しない限り、少し迷子になります。

私が理解しようとしているプロジェクトからのこのコードスニペットがあります。誰かが例を(上部と下部に)回る最小限の/基本的なコードを提供できるかどうか疑問に思っています。正常に実行します。

if ($this->isValid())
{
  print "Valid";
}
4

3 に答える 3

5

このステートメントは、クラス内のメソッド内にあります。

class MyClass
{
    public $valid = true;

    public function isValid()
    {
        return $this->valid;
    }

    public function MyMethod()
    {
        if ($this->isValid())
        {
            print "valid";
        }
    }
}

$myObj = new MyClass();
$myObj->MyMethod(); // prints "valid"
$myObj->valid = false;
$myObj->MyMethod(); // doesn't print "valid"

$this変数は、メソッドが呼び出されたオブジェクトのインスタンスを参照します。

于 2013-02-07T05:43:34.230 に答える
2

$this現在のオブジェクトを参照するために使用します。言い換えれば、$this-> 非静的メンバーとisValid()クラスのメソッドで使用します

class SimpleClass
{

    public $var = 'a default value';
             ^ 
             | refers variable   
             |
        $this->var; 

    public function isValid(){}
             ^ 
             | refers method 
             |
        $this->Isvalid(); 
   }
?>
于 2013-02-07T05:41:41.273 に答える
1

$thisキーワードは、そのクラスの現在のインスタンスにアクセスするために使用され、そのクラス のisValid()関数です。

于 2013-02-07T05:43:24.317 に答える