ホームページ > バックエンド開発 > PHPチュートリアル > PHP の「$this」と「self」: それぞれをいつ使用するか?

PHP の「$this」と「self」: それぞれをいつ使用するか?

Patricia Arquette
リリース: 2024-12-25 08:47:10
オリジナル
251 人が閲覧しました

PHP's `$this` vs. `self`: When to Use Each?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート