ホームページ > バックエンド開発 > PHPチュートリアル > PHP の `::` と `->`: メソッド アクセスに二重コロンと矢印を使用する場合

PHP の `::` と `->`: メソッド アクセスに二重コロンと矢印を使用する場合

Linda Hamilton
リリース: 2024-12-08 19:59:11
オリジナル
965 人が閲覧しました

PHP's `::` vs. `->`: メソッドへのアクセスに二重コロンと矢印を使用するのはどのような場合ですか?
`: メソッドへのアクセスに二重コロンと矢印を使用するのはどのような場合ですか? " />

PHP の二重コロン (::) と矢印 (->): アクセシブルな比較

PHP 言語には、メソッドにアクセスするための 2 つの異なる方法が用意されています: 二重コロン (::) と矢印 (->) は両方ともクラス内で関数を実行するという目的を果たしますが、その使用法と動作には固有の特徴があります。

:: (二重コロン)

二重コロンは、問題のクラスに直接関連付けられている 静的 メソッド呼び出しを示します。これは、そのインスタンスに関係なく、クラス定義自体内に存在するプロパティとメソッドにアクセスするために使用されます。 class.

-> (矢印)

一方、矢印表記は、インスタンス メソッド呼び出しを表します。クラスのインスタンス内のプロパティとメソッド (通常はそのクラスに基づいて作成されたオブジェクト) を作成するには、インスタンスが存在する必要があります。

主な違い

  • 静的メソッドはクラスのインスタンスなしで呼び出すことができますが、インスタンス メソッドにはオブジェクトが必要です。
  • 静的メソッドはクラスのすべてのインスタンス間で共有されますが、インスタンス メソッドは各オブジェクトに固有です。
  • 静的メソッドは静的プロパティにアクセスできますが、インスタンス メソッドは静的プロパティとインスタンス プロパティの両方にアクセスできます。

追加の考慮事項

  • 矢印の割り当て (=>) はメソッドへのアクセスのコンテキストには関与しません。これは、配列内の値の割り当てにのみ使用されます。
  • 変数の割り当てでは、等号 (=) を使用して変数を初期化または変更します。

使用例

次のコード スニペットを考えてみましょう:

class Person {
    public static $species = "human";

    public function getName() {
        return $this->name;
    }
}
ログイン後にコピー

この例では、 person::$species は二重コロン表記を使用して静的プロパティを参照し、$person->getName() は矢印表記を使用してインスタンス メソッド getName() にアクセスします。

以上がPHP の `::` と `->`: メソッド アクセスに二重コロンと矢印を使用する場合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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