PHPの静的メソッドでクラスを呼び出す方法

PHPz
リリース: 2023-04-24 14:57:37
オリジナル
1370 人が閲覧しました

PHP では、インスタンスを作成せずにクラスにメソッドを実行させる静的メソッドを定義できます。静的メソッドを使用すると、オブジェクトをインスタンス化せずにクラス内のメソッドを直接呼び出すことができ、場合によっては非常に便利です。たとえば、クラスのメソッドを使用する必要があるが、インスタンスを作成せずにメソッドを個別に呼び出すだけで済みます。 。

この記事では、静的メソッドでクラス プロパティとその他のメソッドを呼び出す方法について説明します。

パート 1: 静的メソッド

静的メソッドは、クラスをインスタンス化せずに直接アクセスできる特別なタイプのメソッドです。キーワード「static」を使用して静的メソッドを定義すると、クラス内のどこでもメソッドを呼び出すことができます。

次は、静的メソッドを定義して使用する方法を示す簡単な例です:

class Car {
    public static function start() {
        echo "The car is starting...";
    }
}

// 调用静态方法
Car::start();
ログイン後にコピー

上の例では、「start」という名前の静的メソッドを定義し、このメソッドはインスタンス化せずに呼び出されます。 「車」クラス。クラスの単純なテキスト出力が出力されていることがわかります。

パート 2: 静的メソッドでのクラス属性の呼び出し

クラスの静的メソッドでは、「self」キーワードを使用してクラスのプロパティとメソッドを呼び出すこともできます。 「self」キーワードは非常に強力ですが、次の 2 つの制限に注意する必要があります。

  1. 「$this」キーワードは使用できません
  2. 非静的プロパティにアクセスできません

次は、「self」キーワードを使用して静的プロパティを呼び出す例です。

class Counter {
    private static $count = 0;

    public static function increment() {
        self::$count++;
        echo "Count: " . self::$count;
    }
}

// 调用静态方法
Counter::increment();
ログイン後にコピー

上の例では、「increment」という名前の静的メソッドを定義します。カウンタを作成してその値を出力します。このメソッドが呼び出されるたびに、値は 1 ずつ増加します。 「self」キーワードを使用して静的プロパティ「$count」を参照することに注意してください。

パート 3: 静的メソッドでの他のメソッドの呼び出し

静的メソッドでは、「self」キーワードを使用して、他の静的メソッドを呼び出すこともできます。ただし、次の 2 点に注意する必要があります。

  1. 同じクラス内で使用できるのは "self" キーワードのみであり、"$this" キーワードは使用できません
  2. クラスのみを呼び出すことができます 静的メソッド内の静的メソッドは非静的メソッドを呼び出すことはできません

静的メソッド内で他の静的メソッドを呼び出す方法を示す例は次のとおりです:

class Counter {
    private static $count = 0;

    public static function increment() {
        self::addOne();
        echo "Count: " . self::$count;
    }

    private static function addOne() {
        self::$count++;
    }
}

// 调用静态方法
Counter::increment();
ログイン後にコピー

上記の例では、「increment」メソッドと「addOne」メソッドを追加しています。 「increment」では、「addOne」を呼び出してカウンタを 1 ずつインクリメントし、カウンタの値を出力します。

結論

PHP で静的メソッドを使用すると、クラスをインスタンス化せずに特定の操作を実行できます。 「self」キーワードを使用すると、クラス内のプロパティやその他のメソッドを呼び出すことができるため、静的メソッドの使用が容易になります。ただし、「$this」キーワードは静的メソッドでは使用できず、クラス内の他の静的メソッドのみを呼び出すことができることに注意してください。

以上がPHPの静的メソッドでクラスを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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