開発の習慣と PHP コード
1. さまざまな概念を正確に理解する。最近では、新しいものが無限に生まれています。文字通りの意味と少しの知識は開発作業にとって有害です。//たとえば、疎結合の概念を理解しており、実際に次のことを要求している人に会いました。コードに空白行があってはなりません。そうしないと、プログラムが「緩すぎる」ことになります
2. コードは美しく、適切な空白行、インデント、スペースが含まれているため、コード セグメントの意味が理解しやすくなります。
3. コメントは必ず書きます。適切にコメントしないと、その後のメンテナンス作業やコードを引き継ぐ人が苦しむことになります
。
4. 静的メソッド、クラスのアクセス権、インターフェイス、および抽象クラスは、それぞれの特性を最大限に発揮するために一緒に使用する必要があります。
5. 既製のコードを使用する場合でも、コードを新しいプロジェクトに追加する前に 1 行ずつ確認する必要があります。経験上、これはエラーが発生しやすくなります。オープンソース クラスなどの大規模なコードを使用することが重要です。
6. 変数は初期化する必要があります。
7. エラーに対処するだけで警告や通知を無視しないでください。これは、将来、プロジェクトが開発ステータスにあるときに error_reporting(E_ALL ^ E_NOTICE) になる可能性があります。外部ネットワーク実稼働環境では、すべてのエラーを報告する必要があります。display_errors=Off,error_reporting(0)
8. ファイルの書き込みエラー、memcache の書き込みエラー、ソケット接続のエラー、データベースの読み取りと書き込みのエラーなど、必要なエラー ログを記録します。外部実稼働環境で問題が発生した場合、ログは問題を迅速に特定するのに役立ちます。個人的にはすべてのエラーを閉じることを強くお勧めします。報告します;
9. try と catch を使用して例外をキャッチします。これはコードの堅牢性に役立ちます。これにより、API インターフェースがより使いやすくなります。
10. 二重引用符で囲まれた変数には中括弧を追加することをお勧めします。「${nider}at gmail.com」か「{$tom}at zendstudio.net」かは個人の習慣によって異なります。後者を好みます
11. if else のネスト レベルをできるだけ少なくします。非常に複雑な論理アルゴリズムを表現する必要があるかもしれませんが、そうすることで少なくともコード ロジックを明確にすることができます
12. オンライン オープンソース プロジェクトの優れたコード (優れたプロジェクトのオープンソース コードではない) をもっと読み、そこから学ぶ価値のあるものを学びましょう
13. 言語パッケージに sprintf フォーマットを使用するのはとても楽しいことです。
14. キャッシュの書き込みでは、必ずしも最初にシリアル化する必要はありません
15. AJAX 経由でデータを送信する場合は、データベース内で見つかった配列を直接 json_encode してクライアントに渡さないでください。これを行うと、特定のセキュリティ リスクが発生する (フィールド名が公開される) だけでなく、不必要なデータが送信されて帯域幅が浪費されます。これは API インターフェース
にも当てはまります。
16. マジック変数を処理することを忘れないでください。もちろん、データが 2 回処理される問題を回避するために、スイッチのステータスを取得することもできます。
17. グローバル $var
の代わりに $GLOBALS['var'] を使用します
18. プログラム、特にメソッド内で簡単に終了しないでください
19. require、require_once、include、および include_once のアプリケーション シナリオは若干異なります
20. キャッシュへの書き込みを最大限に成功させるには、再試行回数と usleep を組み合わせます。それでもうまくいかない場合は、ログを書き留めます
。
21. PHP 定数は非常に優れたものであり、多くのオープンソース プロジェクトは、使用する定数を定義するためにファイル全体を使用します
22. 可能な場合は絶対パスを使用してファイルを検索します
23. オートロードは非常に柔軟なものです
24. プロジェクトをより完璧にするため、set_error_handler と set_Exception_handler を使用するのが最善です
25. PHP の参照型は非常に効率的であるため、複雑な演算を実行する場合は
を使用することをお勧めします。
26. @ 記号によるエラーの抑制はパフォーマンスに非常に負荷がかかるため、できる限り代替手段を見つけるようにしてください
MYSQL 部分:
1. SQL ステートメントでは二重引用符が使用され、その中の値では一重引用符が使用されます。たとえば、「INSERT INTO gril SETmoney=’{$iMaxMoney}’,age=’18′」
2. mysql 拡張機能の代わりに mysqli 拡張機能を使用します
2. mysqli_real_escape_string と mysqli_escape_string を使用して、発信 SQL ステートメントの変数を処理します
3. クエリ "SET NAMES" の代わりに mysqli_set_charset(mysqli->set_charset) を使用します
4. 結合クエリ (JOIN) の前に、各テーブルのデータ量を考慮し、それが適切でない場合は、特にキャッシュが利用可能な場合は個別に確認する必要があります
。
5. 多くの場所で発生時刻を記録する必要がありますが、すべてのテーブルでそれが必要なわけではありません。同様に、すべてのテーブルが主キーとして自動インクリメントを必要とするわけではありません
。
6. 多くの場合、整数型に unsigned を追加すると良いでしょう
7. INERT DELEYED、INSERT IGNORE、SELECT DISTINCT... この種のステートメントは通常、予期せぬ良い効果をもたらします
8. varchar 型の長さは 255 を超えることはできませんが、255 を超えると、このフィールドにインデックスを付けることができないため、実際のニーズによって異なります