function test(){ ……… return $result; }function test1(){ ……… return $result; }……function testN(){ ……… return $result; }class funs{ static function test(){ ……… return $result; } static function test1(){ ……… return $result; } …… static function testN(){ ……… return $result; }}$a = test();$b = funs::test()……
php5.3の制約により、静的メソッドは静的プロパティにしかアクセスできません
そうすると、静的メソッドと通常の関数には大きな違いはありません
実は、この奇妙な書き方
もちろん、区別するために異なるクラスが同じ名前の静的メソッドを定義できるという人もいます
しかし、名前空間はこの目的を達成するために使用されます
PHP の行の原則によると? php 毎回大丈夫ですか? クラスの外に書かれた関数が最初に走査され、クラス内に書かれた関数が走査されないことがありますが、これからは外部関数よりも静的カプセル化の方が高速になると感じています。現在推奨されているので、それをお勧めします 関数をクラスにカプセル化して静的メソッドにする
少なくともすべてのメソッドがクラスにカプセル化され、次のような静的メソッドになります。
public static function ff($ a){
echo $a; }
}
abc::ff('23');
まあ、関数を全部クラスに入れて書くと良い気がしますそれらを静的にすると、ファイルに関連するすべての関数をファイルクラスに置くなどの規則的な感じが得られ、使用時に自動的に __autoload を呼び出すことができます。手動で含める必要はありません
function test(){ ……… return $result; }function test1(){ ……… return $result; }……function testN(){ ……… return $result; }class funs{ static function test(){ ……… return $result; } static function test1(){ ……… return $result; } …… static function testN(){ ……… return $result; }}$a = test();$b = funs::test()……
クラス外で書かれた個々の関数とクラス内で書かれた静的関数の違いは何ですか?クラス外の関数は静的ですか?チュートリアルで述べたように、静的メソッドはメモリも節約しますか?効率を比較するならどちらが高いでしょうか?
よく使用される関数をクラスに記述し、静的メソッドとして定義することは有益ですか?
初心者なので、経験者からの正しいアドバイスをお願いします!
プログラミングの考え方の変化、違いはありません
私の意見は Lao Xu の意見に近く、名前空間はトレンドです
一部のスクリプト解析言語は名前空間の処理が (相対的に) 遅いというだけですが、私は将来的には改善されると思います