静的変数や関数は、スタティックメモリに格納され、プログラムの最後にのみリリースされます、彼が割り当てられていたときにそれを
クラスが呼び出された場合は、コンパイル時に動的クラスの実装でより多くの仕事をするために、静的クラスの必要性はもう少し作業が必要ですが、PHPは動的言語で、一度、毎回これらの2つのステップはそうクラス一度のみ実行するように、出ていません、それは誰が速い方が遅い問題ではありません。
複数の呼び出しのために同じではありませんプログラム内のクラス、静的クラスの割り当ては、コンパイル時である場合には、プログラムの実行後は、むしろ動的に割り当てられたメモリよりも、直接呼び出すことができ、それは時間を節約し、理由類推高速な静的、動的クラス(前提を覚えておくことが何回も呼ばれます)。
クラスA
{
パブリック静的ドル。
公共$ B;
パブリック関数__construct($ = 1、$ B = 2)
{
自己:: $ A = $ A。
これを$ - > $ B = $ B;
}
パブリック静的関数func_static()
{
エコー「func_static'.PHP_EOL。
の$ this -エコー> B; //エラー、$にこのキーワードを使用することはできません、あなたは呼び出すことはできません
エコー自己:: $ //ノーマル
}
パブリック関数func()
{
エコー「func'.PHP_EOL。
}
}
:: func_static(); //通常の
:: FUNC()//エラー
$ OBJ =新しいA();
$のObj - > FUNC(); //通常の
要約:
1.静的にstaticキーワードを使用して宣言しました
2.静的変数やクラスをインスタンス化しない静的メソッド呼び出しの必要性
3 。自己を使用して、クラスに静的変数を呼び出す::
4.あなたは、静的メソッドでキーワード$これを使用することはできません