ホームページ  >  記事  >  バックエンド開発  >  PHP クラスの静的メソッドと静的変数、phpstatic_PHP チュートリアル

PHP クラスの静的メソッドと静的変数、phpstatic_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:58:34860ブラウズ

PHP クラスの静的メソッドと静的変数、phpstatic

PHP では、クラスのメソッド/変数にアクセスする方法が 2 つあります。
1. オブジェクト $object = new Class() を作成し、「->」を使用します。 " 呼び出し先: $object->attribute/function (変数/メソッドがアクセス可能である場合)。
2. 静的か非静的かに関係なく、クラスのメソッド/変数: class::attribute/function を直接呼び出します。ただし、前提条件があります:
A. 変数の場合、その変数にアクセスできる必要があります。
B. メソッドの場合、アクセス可能であることに加えて、次の条件も満たす必要があります。
b1) 静的メソッドの場合、特別な条件はありません。
b2) 非静的メソッドの場合。 、メソッド内で $this が使用されていない、つまり非静的変数/メソッドの呼び出しがないように変更する必要があります。もちろん、静的変数/メソッドの呼び出しには問題ありません。

次に、$object->… の使用と class::… の使用の違いを見てみましょう。
1. $object->… を使用するには、オブジェクトを作成するためにコンストラクターを実行する必要があります。
2. … 静的メソッド/変数を呼び出す場合、オブジェクトを作成するためにコンストラクターを実行する必要はありません。
3. 非静的メソッド/変数を呼び出すためにコンストラクターを実行する必要はありません。オブジェクトを作成します。

すると、2と3は同じなので、静的メソッド/変数の存在意義は何でしょうか?
次のような違いが明らかに存在します:
1. 静的変数
静的メンバーは 1 つの変数値のみを保持し、この変数値はすべてのインスタンスに対して有効です。つまり、すべてのインスタンスがこのメンバーを共有します。
2. 静的メソッド
静的メソッドは class::... を使用して直接呼び出すことができますが、非静的メソッドは、前に説明したように、 class::... メソッドを使用して呼び出す前に特定の制限を満たす必要があります

www.bkjia.com本当http://www.bkjia.com/PHPjc/1102852.html技術記事 PHP クラスの静的メソッドと静的変数、phpstatic PHP では、クラスのメソッド/変数にアクセスする方法が 2 つあります: 1. オブジェクト $object = new Class() を作成し、- を使用して呼び出します: .. .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。