オブジェクト指向プログラミング (OOP、オブジェクト指向プログラミング) は、今やプログラマーの基本スキルとなっています。 PHP の高度なプログラミングに OOP アイデアを使用することは、PHP プログラミング能力を向上させ、Web 開発アーキテクチャを計画する上で非常に有意義です。
ここでは主にthisとselfキーワードの違いについて話します。文字通り理解すると、これと自分自身を指します。まず予備的な説明をしておきます。これは現在のオブジェクトへのポインタ (C のポインタとみなすことができます) であり、self は現在のクラスへのポインタです。ここでの説明にはポインタを頻繁に使用します。
私はフレームワークをよく使うので、PHPの基本的な動作メカニズムやメソッドを知らない部分があるので、最近はそれらの基本的なことを勉強するのが好きです。書いたものはあまり良くありませんが、それらは段階的に実装できます。はい、その方が理解しやすいです。現在、インターネット上の情報のほとんどは、マニュアルからコピーされたものであり、非常に公式のものであるか、実際には少しわかりにくいものであるため、それしかできません。 1.self は、このクラスの静的プロパティと静的メソッドにアクセスでき、親クラスの静的プロパティと静的メソッドにアクセスできます。 self を使用する場合、
class self_test { static$instance; publicfunction __construct(){ self::$instance = 'instance';//静态属性只能通过self来访问 } publicfunction tank(){ return self::$instance;//访问静态属性 } } $str = new self_test(); echo$str->tank();
class self_test { static$instance; publicfunction __construct(){ self::$instance = 'dell'; } staticpublicfunction pentium(){ return self::$instance;//静态方法也可以继续访问静态变量,访问时需要加$ } publicfunction tank(){ return self::pentium();//访问静态方法pentium() } } $str = new self_test(); echo$str->tank();
class self_test { const NAME = 'tancy'; publicfunction tank(){ return self::NAME; } } $str = new self_test(); echo$str->tank();
1.thisはこのクラスのメソッドと属性を呼び出すことができ、または親クラスの調整可能なメソッドと属性を呼び出すことができます。staticとconst定数を除いて、基本的にその他すべてであると言えます。これを使用して
class self_test { public$public; private$private; protected$protected; publicfunction __construct(){ $this->public = 'public'; $this->private = 'private'; $this->protected = 'protected'; } publicfunction tank(){ return$this->public; } publicfunction dell(){ return$this->private; } publicfunction datesrt(){ return$this->protected; } } $str = new self_test(); echo$str->tank(); echo"</br>"; echo$str->dell(); echo"</br>"; echo$str->datesrt();
以上がPHPにおけるselfと$thisの違いを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。