次の方法は、PHP 開発プロセス中のコード実行の効率を効果的に向上させることができ、これが PHP マスターの追求です。
#1. クラス メソッドを静的として定義できる場合は、それを静的に定義してみると、速度が 4 倍近く向上します。 。
2. $row['id'] は $row[id] より 7 倍高速です。 (推奨学習: PHP プログラミングの入門から熟練度まで )
3. Echo は print よりも高速で、代わりに echo の複数のパラメータ (ピリオドの代わりにカンマを使用することを指します) を使用します。 echo $str1、$str2 などの文字列接続。
4. for ループを実行する前に最大ループ数を決定します。ループごとに最大値を計算するのではなく、代わりに foreach を使用することをお勧めします。
5. 未使用の変数、特に大きな配列の登録を解除して、メモリを解放します。
6. __get、__set、__autoload の使用は避けてください。
7. require_once() は高価です。
8. ファイルをインクルードする場合は、絶対パスを使用するようにしてください。これにより、include_path 内のファイルを検索する PHP の速度が低下し、オペレーティング システムのパスの解析に必要な時間が短縮されるためです。
9. スクリプトの実行開始時刻 (つまり、サーバーがクライアント要求を受信する時刻) を知りたい場合は、time() よりも $_SERVER[‘REQUEST_TIME’] を使用する方が適切です。
10. 関数は正規表現を置き換えて同じ関数を完成させます。
11. str_replace 関数は preg_replace 関数より高速ですが、strtr 関数は str_replace 関数より 4 倍効率的です。
12. 文字列置換関数が配列または文字をパラメータとして受け入れ、パラメータの長さが長すぎない場合は、渡される各パラメータが文字になるように追加の置換コードを記述することを検討できます。配列をクエリおよび置換のパラメータとして受け入れるコード行。
13. 複数の if、else if ステートメントを使用するよりも、選択的分岐ステートメント (つまり、switch case) を使用する方が適切です。
14. @ を使用してエラー メッセージをブロックするのは、非常に非効率的です。
15. Web ページの閲覧速度を向上させるには、Apache の mod_deflate モジュールを有効にします。
16. データベース接続は、使用が終了したら閉じる必要があります。長い接続は使用しないでください。
17. メソッド内のローカル変数を増やすのが最も速いです。関数内でローカル変数を呼び出すのとほぼ同じ速度です。
18. グローバル変数のインクリメントは、ローカル変数のインクリメントより 2 倍遅くなります。
19. オブジェクト プロパティ ($this->prop など) のインクリメントは、ローカル変数のインクリメントより 3 倍遅くなります。
20. 未定義のローカル変数のインクリメントは、事前定義されたローカル変数のインクリメントより 9 ~ 10 倍遅くなります。
21. 関数内で呼び出さずにローカル変数を定義するだけでも、(ローカル変数をインクリメントするのと同じ程度に) 速度が低下します。 PHP はおそらく、グローバル変数が存在するかどうかを確認します。
22. 派生クラスのメソッドは、基本クラスで定義された同じメソッドよりも高速に実行されます。
23. 1 つのパラメーターを指定して空の関数を呼び出すには、7 ~ 8 個のローカル変数のインクリメント操作を実行するのと同じ時間がかかります。同様のメソッド呼び出しには、15 近くのローカル変数インクリメント操作が必要です。
24. Apache が PHP スクリプトを解析するのにかかる時間は、静的な HTML ページを解析する場合よりも 2 ~ 10 倍遅くなります。使用する静的な HTML ページを増やし、スクリプトを減らすようにしてください。
25. スクリプトをキャッシュできない限り、呼び出されるたびに再コンパイルされます。 PHP キャッシュ メカニズムを導入すると、通常、コンパイルのオーバーヘッドが排除され、パフォーマンスが 25% ~ 100% 向上します。
26. できるだけ多くのキャッシュを試してください。Memcached は、動的な Web アプリケーションを高速化し、データベースの負荷を軽減するために使用できる高性能メモリ オブジェクト キャッシュ システムです。 OP コードのキャッシュは、リクエストごとにスクリプトを再コンパイルする必要がないように便利です。
27. 文字列を操作し、その長さが特定の要件を満たしているかどうかを確認する必要がある場合は、当然 strlen() 関数を使用します。この関数は非常に高速に実行され、zval 構造体に格納されている既知の長さの文字列を返します。
ただし、strlen() は関数であるため、関数呼び出しは小文字などの多くの手順を経るため、多少遅くなります (小文字の関数名を指します。PHP は大文字と小文字を区別しません)。関数名の小文字)、ハッシュ検索は呼び出された関数と一緒に実行されます。場合によっては、 isset() トリックを使用してコードの実行を高速化できます。
以上がPHPを効率的に実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。