ホームページ >バックエンド開発 >PHPチュートリアル >PHP開発体験のまとめ
1. PHP の echo ステートメントの代わりに埋め込み HTML コードを使用します。
PHP は組み込み Web プログラミング言語であるため、HTML コードと PHP コードを相互に埋め込むことができます。しかし、多くのプログラマは、HTML コードに PHP コードを埋め込むために "" を過剰に使用すると、PHP インタープリタが複数回呼び出され、PHP コードの実行速度が低下することを懸念しているため、HTML コードを出力する代わりに PHP の echo ステートメントを使用したいと考えています。 HTML コードを直接使用します。しかし、真実は全く逆です。各 PHP ページは、すべての PHP コードを解釈するために PHP インタープリタを 1 回だけ呼び出します。そのため、必要な場合にのみ PHP コードを埋め込み、ほとんどの場合、HTML コードを直接使用して結果を入力すると、プログラムの実行速度が低下することはありません。また、echo ステートメントの解析が軽減されるため、コードの実行速度が向上する場合があります。
2. ereg-replace の代わりに str-replace を使用してみてください。PHP での ereg_replace の使用法はパターン マッチングの使用法に似ているため、Perl でのプログラミングに慣れているプログラマは、文字列置換作業を完了するために ereg_replace を使用することを好むでしょう。パールで。ただし、以下のコードは、ereg_replace の代わりに str_replace を使用するとコードの速度が大幅に向上することを証明しています。
3. 文字列の引用符に注意する
PHP は、他の多くのプログラミング言語と同様に、二重引用符 ("") または一重引用符 () を使用して文字列を引用できます。ただし、PHP では、二重引用符を使用して文字列を引用すると、PHP パーサーはまず文字列内に変数への参照があるかどうかを分析し、変数が存在する場合はその変数を置き換えます。一重引用符の場合は、それほど複雑ではありません。一重引用符で囲まれたすべての文字列が直接表示されます。明らかに、PHP プログラミングでは、二重引用符よりも一重引用符を使用して文字列変数を引用する方が高速です。
4. for ループを実行する前にループの最大数を決定します。ループごとに最大値を計算しません
5. include と require の違いに注意してください
PHP プログラミングでは、include() と require() は同じ機能を持ちますが、使用方法にはいくつかの違いがあります。 include() は条件付きで関数を含みますが、require() は無条件で関数を含みます。たとえば、次の例では、変数 $somgthing が true の場合、ファイル somefile がインクルードされます
if($something){
include(“somefile.txt”)
}
ただし、$something がどのような値をとっても以下のコードは、ファイル somefile をファイルに組み込みます:
if($something){
require(“somefile.txt”)
}
6. データベース クエリ操作を実行するときは、結合操作を避けるようにしてください
他の Web プログラミングと比較して、言語の観点から見ると、PHP のデータベース機能は非常に強力です。
ただし、PHP でのデータベースの実行は依然として非常に時間と労力がかかる問題であるため、Web プログラマーはデータベースのクエリ操作を最小限に抑え、データベースに適切なインデックスを確立する必要があります。
もう 1 つ注意すべき点は、PHP を使用してデータベースを操作する場合、複数のデータ テーブルの結合操作を使用しないようにすることです。結合操作はデータベースのクエリ機能を強化できますが、サーバーの負荷が大幅に増加します。
7. スクリプトの実行開始時刻を知りたい場合 (注釈: サーバーがクライアント要求を受信する)、time() 関数よりも $_SERVER[‘REQUEST_TIME’] を使用する方が良いでしょう。
8. オブジェクト指向である必要はありません。オブジェクト指向の方が時間がかかります。いくつかの単純な操作は依然として迅速なプロセスです。
9.$row['id'] は $row[id] より 7 倍高速です。
10.echo は print より高速で、文字列連結の代わりに echo の複数のパラメータを使用します (注釈: ピリオドの代わりにカンマを使用することを指します)。
たとえば、$str1,$str2 をエコーします。
11. if...else... が多数ネストされている場合は、switch...case を選択する必要があります。
12. 未使用の mysql クエリ結果を適時に解放する (mysql_free_result())
13. isset( ) と empty()
どちらも変数をテストするために使用されます
ただし、isset() は変数に値が割り当てられているかどうかをテストし、empty() は値が割り当てられている変数が空かどうかをテストします
変数が割り当てられていない場合値、PHP での参照は許可されていますが、注意事項があります
変数に空の値、$foo=""、$foo=0、または $foo=false が割り当てられている場合、empty($foo) が返されます。 true および isset($foo) も true を返します。これは、null 値を割り当てても変数の登録が解除されないことを意味します。
変数の登録を解除するには、unset($foo) または $foo=NULL を使用できます