以下のヒントは実際の作業で私が徐々に作成したものであり、いくつかは間違っている可能性があり、いくつかは個人的な習慣によるものです。したがって、これらには大きな秘密が隠されている可能性があります。 、コードが異常に実行されている可能性があります。よく読んで考えてください。これを行うとどのようなメリットがあるでしょうか?それはどのような悪影響を及ぼしますか?
開発習慣とPHPコード
- さまざまな概念を正確に理解します。最近では、新しいものが無限に生まれています。文字通り、知識が少ないと開発作業に有害です。
コードは美しく、適切な空白行、インデント、スペースがあり、コードセグメントの意味を理解しやすくなります。
- 必ずコメントを書き、適切にコメントしてください。そうしないと、その後のメンテナンス作業やコードを引き継ぐ人が泣くことになります;
- 静的メソッド、クラスのアクセス権、インターフェイス、抽象クラスは、それぞれの特性を最大限に発揮するために一緒に使用する必要があります。
コピーアンドペーストはしないでください。既成のコードを使用したい場合でも、新しいプロジェクトに追加する前にコードを 1 行ずつ確認する必要があります。経験上、これはエラーが発生しやすく、さらに危険であるためです。オープンソース クラスなどの大規模なコードを使用するのに必要です ;-
変数は初期化する必要があります;-
エラーを処理するだけで警告や通知を無視しないでください。これは、将来、プロジェクトが開発ステータスにあるときに、error_reporting(E_ALL ^ E_NOTICE) になる可能性があります。環境では、すべてのエラー レポートをオフにする必要があります。display_errors=Off、error_reporting(0) Netizen pAUL gAO は、より合理的な解決策、error_reporting(E_ALL | E_STRICT) を共有し、運用環境でエラー ログを記録します。
- ファイルの書き込み失敗、memcache の書き込み失敗、ソケット接続の失敗、データベースの読み取りと書き込みの失敗など、必要なエラー ログを記録することは、問題が発生したときに問題を迅速に特定するのに役立ちます。個人的には、外部実稼働環境ですべてのエラー レポートをオフにすることを強くお勧めします。 ;
- try と catch を使用して例外をキャッチすると、コードの堅牢性が向上し、コードがより使いやすくなります。
二重引用符で囲まれた変数には中括弧を追加することをお勧めします。「${nider}at gmail.com」か「{$tom}at zendstudio.net」かは、個人の習慣によって異なります。後者-
if else のネスト レベルをできるだけ少なくする必要があるかもしれませんが、そうすることで少なくともコード ロジックを明確にすることができます-
オンライン オープンソース プロジェクトの優れたコード (優れたプロジェクトのオープンソース コードではない) をもっと読み、そこから学ぶ価値のあるものを学びましょう-
言語パッケージに sprintf フォーマットを使用するのはとても楽しいことです。 -
書き込みキャッシュは必ずしも最初にシリアル化する必要はありません-
AJAX がデータを送信する場合、データベース内で見つかった配列を直接 json_encode してクライアントに渡さないでください。これを行うと、特定のセキュリティ リスクが発生するだけでなく (フィールド名が公開される)、不要なデータが送信されて帯域幅が浪費されます。 APIインターフェースにも同じことが当てはまります-
マジック変数を処理することを忘れないでください。もちろん、データが 2 回処理される問題を回避するために、スイッチのステータスを取得することもできます。
- グローバル $var の代わりに $GLOBALS['var'] を使用してください
- プログラム、特にメソッド内で簡単に終了しないでください
- require、require_once、include、include_once のアプリケーション シナリオは若干異なります
- キャッシュへの書き込みを最大限に成功させるには、再試行回数と usleep を組み合わせます。それでもうまくいかない場合は、ログを書き留めます。
PHP 定数は非常に優れたものです。多くのオープンソース プロジェクトでは、使用する定数を定義するためにファイル全体が使用されます。
- ファイルを検索するには、可能な限り絶対パスを使用してください
- オートロードは非常に柔軟なものです
- プロジェクトをより完璧にするため、set_error_handler と set_Exception_handler を使用するのが最善です
- PHP の参照型は非常に効率的であり、複雑な操作を実行するときに使用することをお勧めします
- @抑制エラーはパフォーマンスに非常に負荷がかかるため、可能であれば代替手段を見つけてください
-
MySQL 部分-
SQL ステートメントでは二重引用符を使用し、値には一重引用符を使用します (例: "INSERT INTO gril SETmoney='{$iMaxMoney}',age='18'")
mysql 拡張機能を mysqli 拡張機能に置き換えます
- mysqli_real_escape_string と mysqli_escape_string を使用して、発信 SQL ステートメントの変数を処理します
- クエリ「SET NAMES」の代わりに mysqli_set_charset(mysqli->set_charset) を使用してください
- 結合クエリ(JOIN)の前に、各テーブルのデータ量を考慮し、それが適切でない場合は、特にキャッシュが利用可能な場合は個別に確認する必要があります
- 多くの場所で発生時刻を記録する必要がありますが、すべてのテーブルでそれが必要なわけではありません。同様に、すべてのテーブルが主キーとして自動インクリメントを必要とするわけではありません。
整数型に unsigned を追加すると良い場合が多いです-
INERT DELEYED、INSERT IGNORE、SELECT DISTINCT... このようなステートメントは通常、予期せぬ良い効果をもたらします-
varchar 型の長さは 255 を超えることはできませんが、255 を超えると、このフィールドにインデックスを付けることができないため、実際のニーズによって異なります-
- 今思いつくのはこれくらいです、また思いついたら更新していきます。思いついたことを書きますが、構成はありませんので、少しでもお役に立てれば幸いです。
-
http://www.bkjia.com/PHPjc/752424.html
www.bkjia.com
truehttp://www.bkjia.com/PHPjc/752424.html技術記事以下のヒントは実際の仕事で私が徐々に形成したものであり、間違っている可能性もあり、また個人的な習慣に基づくものもありますので、以下を基準として捉えないでください。