質問
PHP で大規模な Web サイトを作成する場合の一連の問題
PHP はその使いやすさから急速に普及していますが、使いやすいからといって使いこなせるわけではありません。実際、多くのプログラマーが WEB アプリケーション システムを簡単に構築するために PHP を使用しています。しかし、コードが保守しやすく、十分に堅牢で、十分に効率的で、十分に安全であるかどうかを注意深く検討した人はどれくらいいるでしょうか? これらは、PHP を使用して大規模な Web サイトを構築する場合に重要な要素になります。より小さな問題から始めて、いくつかの致命的な間違いに移りましょう。 3 つの部分に分かれています。
前編、マイナーエラー
1. Printf()、
この関数は主にデータのフォーマットと表示に使用されます。特定のデータの表示形式を変更したい場合にのみ使用してください。
たとえば、PI (3.1415926) の値をさまざまな精度で表示します。
/*
* Πの3つの顔
*/
printf ("Pi is: %.2f
",
printf ("Pi is also: %.3f
);
", M_PI);
printf ("Pi is also: %.4f
", M_PI);
?>
しかし、多くのプログラマーは、この関数をいくつかの変数値と関数の戻り値を表示するためにのみ使用します。 Printf() はデータを表示する前にデータを整形するため、速度が遅くなります。そのため、データを表示する場合にのみ print と echo を使用して高速化します。
2. セマンティック チェック
PHP は弱い型指定の言語であるため、使用する前に変数を定義する必要はありませんが、変数の型を知っておく必要があります。なぜなら、変数は実行時に実際には依然として特定の型に対応しており (さまざまな型を相互に自由に変換できます)、型のない変数は存在しないからです。 PHP がセマンティック エラーを検出できない可能性もありますが、変数の型の変更により、潜在的な問題が発生する可能性があります。注目に値するもう 1 つの問題は変数のスコープであり、これも潜在的な問題を引き起こす可能性があります。
PHP には次の基本変数があります:
ブール、リソース、整数、倍精度、文字列、配列、オブジェクト。
3.一時変数の使用
一時変数の乱用はプログラムの動作効率の低下につながります。一時変数をいつ使用するかは、次の 2 つの点に基づいて検討できます。
1. 変数が少なくとも 2 回使用されているかどうか。
2. この変数を使用するとプログラムの可読性が大幅に向上するかどうか。
上記のいずれも満たされない場合、この変数の使用は省略されます。例:
$tmp = date ("F d, h:i a"); /* つまり、1 月 3 日の午後 2 時 30 分 */
print $tmp?> に変更する必要があります。 :
print date ("F d, h:i a");
?>
別の例:
// string reverse_characters(string str)
// すべてを反転します
function reverse_characters ($str)
{
return implode ("", array_reverse (preg_split("//", $str)));
}
?>
// string reverse_characters(string str)
// 文字列内のすべての文字を反転します
function reverse_characters ($str)
{
$characters = preg_split ("// ", $str);
$characters = array_reverse ($characters);
return implode ("", $characters);
}
?>
4. クライアントコードとサーバーコードの分離
クライアント サーバー- PHP プログラムのサイド コードは、実際には HTML コードと PHP 言語コードを 1 つのファイルに混在させるため、このスタイルはプログラムのメンテナンスや再開発に非常に悪影響を及ぼし、開発には適していません。大規模なサイト。一般に、HTML ステートメントと PHP ステートメントを分離するには、次の 2 つの方法があります。
1.
index.php? などの専用 API を作成します。クライアント側