ここではOOPをよく理解できません。私が考えることは$ thisまたはthisはクラスの現在のインスタンスを指すために使用でき、すべての非静的メンバーにアクセスできるということです。しかし、その後、ここで何が起こっているのか:PHPでのこの変数の使用方法
public function store(Request $request)
{
$this->validate()
}
このコードはLaravelフレームワークのコントローラクラスからです。私はvalidate()メソッドにアクセスできますが、現在のクラスではなく、ベースクラスまたは親クラスから継承されていても$ this変数を使ってアクセスできなくてすべきです。
以降、私はこのように私のモデルを使用することができたコードで:
$post = new Post;
なぜ私は、そのクラスのコンストラクタモデルPostクラスを呼び出していませんでしたか?私は信じて何
'$ this'は、継承ツリーを介して動作し、親、祖父母、曾祖父母などのpublicまたはprotectedメソッドにアクセスできます。だからなぜあなたは 'それをベースクラスや親クラスから継承しても、この変数を使ってアクセスできなくてすべきだと信じていますか? ' –
このリンクをチェックすると、役に立つかもしれません。http://stackoverflow.com/questions/1523479/what-does-the-variable-this-mean-in-php –
'$ post = new Post;' .. ..あなたがクラスをインスタンス化すると、コンストラクタは自動的に呼び出されます –