PHP における Self と $this: それぞれを使用する場合
PHP では、$this と self はどちらもプロパティへのアクセスに使用され、クラスのメソッド。ただし、その使用方法には明確な違いがあります。
$this: 現在のオブジェクトへの参照
現在のオブジェクト インスタンスを参照するには、$this を使用します。これにより、そのオブジェクトに固有の非静的プロパティとメソッドにアクセスできるようになります。
class MyClass { public $property; public function method() { echo $this->property; // Accesses the property of the current object } }
self: 現在のクラスへの参照
対照的に、self は以下を参照します。特定のオブジェクト インスタンスではなく、クラス自体です。これにより、クラスのすべてのインスタンスで共有される静的プロパティとメソッドにアクセスできるようになります。
class MyClass { public static $staticProperty; public static function staticMethod() { echo self::$staticProperty; // Accesses the static property of the class } }
Self を使用する場合
必要な場合は self を使用してください。クラスのすべてのインスタンス間で共有される静的プロパティまたはメソッドにアクセスします。これには次のものが含まれます。
$this を使用するには
必要なときに $this を使用してください特定のオブジェクトに関連付けられたインスタンス固有のプロパティまたはメソッドにアクセスします。これには次のものが含まれます。
ポリモーフィズムと可視性Control
$this をポリモーフィズムと組み合わせて使用すると、子クラスのメソッドをオーバーライドできます。ただし、self はポリモーフィズムをサポートしておらず、常に元の親クラスを参照します。これは、ポリモーフィックな動作を抑制するのに役立ちます。
結論
$this と self の区別を理解することは、PHP でクリーンで保守可能なコードを作成するために重要です。上記のガイドラインに従うことで、特定の目的に対して正しい参照タイプを使用していることを確認できます。
以上がPHP の「$this」と「self」: それぞれをいつ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。