PHP コードのパフォーマンスを向上させる 10 のヒント
この記事のアドバイスは、PHP のほとんどをカバーしています。 コードのパフォーマンスの問題。小規模な Web サイトや小規模なプロジェクトに取り組んでいる場合、これらを無視する理由があります。 推奨されていますが、長期安定したサービスを多数のユーザーに提供する場合は注意が必要です。開発者はプロジェクトの開始時からこれらの提案を考慮する必要があります。これにより、Web サイトのパフォーマンスが大幅に向上します。 PHP では通常、同じ目標を達成するための方法がたくさんありますが、開発者は通常、最も使い慣れていて使いやすい方法を選択しますが、注意しなければならないことがいくつかあります。
1.echo は print よりもはるかに高速です。どちらのメソッドもページ上に何かを印刷しますが、echo は値を返さず、print は成功または失敗に応じて 0 または 1 を返します。
2.include_once は include よりも時間がかかります。インクルードしたいクラスがインクルードされているかどうかを確認する必要があるためです。
3. 長い段落文字列には二重引用符ではなく必ず一重引用符を使用してください。二重引用符で文字列内の変数を検索するためです。例: echo 'This is long string'.$name は echo 'This is long string $name' よりもはるかに高速です。
4. ループ内で for($i=0;$i
を使用しないでください)5. 関数を静的として定義できる場合は、静的関数はメンバー関数よりも 33% 高速です。
6. 正規表現を使用せずに問題を解決できる場合は、正規表現を使用しないでください。正規表現は、PHP のネイティブ関数よりも遅くなります。たとえば、preg_replae の代わりに str_replace を使用します。
7. ファイルをインクルードするために相対パスを使用しないようにしてください。相対パスでファイルを検索する場合は、現在のディレクトリから順に検索されます。これにより、ファイルの検索が非常に遅くなります。最初に WEB_ROOT のような定数を定義し、次にこの定数を使用してファイルをインクルードすることをお勧めします。
8. 合同記号 === は等価 == より高速です。そして、if(1 == '1') は true を返します。if(0 == ") も true を返します。合同記号を使用すると if(1 ===’1′) と if(0===”) は両方とも false を返します。そのため、プログラム内でいくつかのブール変数を検出する必要がある場合は、合同記号
を使用するのが最善です。9. 略語は使用しない方が良いです
10. register_global や magic_quote を使用したり依存したりしないことをお勧めします。php.ini の読み取りと設定には注意してください。
ここでは最適化のすべての側面を取り上げているわけではありません。RockUX では後の記事で取り上げます。もっと注意してください。
この記事の紹介があなたのお役に立てれば幸いです。
【編集者のおすすめ】
【担当編集:QiHappy 電話番号:(010)68476606】