##1. PHP 関連の命名規則
1. メソッドの命名
2. 関数の名前付け
#Function は、パブリック ファイル内の関数など、クラス内で定義されていない関数を指します。関数の名前は、get_client_ip();3 のように小文字とアンダースコアを使用して付けられます。変数の名前付け
4. 定数名前付け
定数は、HAS_ONE や MANY_TO_MANY のように、大文字とアンダースコアで名前が付けられます;5. 設定パラメータ コマンド
設定パラメータHTML_CACHE_ON = 1;2. コーディング スタイルの仕様
1. 複数行のスペースは、大文字とアンダースコアで名前が付けられます。禁止
2. インデント
コードには適切なインデントが必要です。そうしないと、メンテナンスが難しくなります。3. ディレクトリ構造
3. セキュリティ
1. 入力ボックス
2. テキスト エディタ
フロント ページではリッチ テキスト エディタを使用しないようにしてください。リッチ テキスト エディタではコードを入力できるため、セキュリティ リスクが大きくなります。 。これを使用する場合は、送信されたコンテンツを、たとえば htmlspecialchars() を使用してフィルタリングする必要があります。3. バックグラウンドでパラメータを受け取る
PHP はフォーム取得 URL からパラメータを取得する際にフィールドの型を判断する必要があります。たとえば、数値を受け取るパラメータには他の文字を含めることはできず、数値のみを含めることができます。悪意のあるコードの挿入を防ぐために、受信した投稿を確認してパラメータを取得し、各パラメータの値を検証するパブリック関数を作成することをお勧めします。メッセージ内容などの長い内容を含む変数を受け取る場合は、特殊文字フィルタリングを実行する必要があります。たとえば、strip_tags()、htmlspecialchars()、htmlentities() などの関数は、ユーザーがクロスサイト スクリプティング攻撃のための悪意のあるコードを挿入するのを防ぐために機能します。4. 権限制御
4. 同時実行性と大規模トラフィックの処理
1. 繰り返しの送信
ユーザーが次のような場合に送信を繰り返すのを防ぐため。フォームを送信するには、検証を送信するようにフォームを設定する必要があります。たとえば、モールが注文を送信する場合、ユーザーが繰り返し注文を送信できないようにする必要があります。 Thinkphp フレームワークで提供されるフォーム トークン機能を使用すると、繰り返し送信を防ぐことができます。ネイティブ PHP では、ページを開く前にトークンを生成し、セッションに保存して、そのトークンをページ フォーム フィールドに渡すこともできます。フォームが送信されると、トークンはバックグラウンドでまとめて送信されますので、受信時にトークンを検証し、検証後に保存されているセッションのトークンを破棄します。2. セッション
SMS 認証、フォーム認証などのワンタイム認証セッションは、使用後に破棄する必要があります。ユーザーが登録中に SMS 検証コードのセッションが破棄されない場合、ユーザーは同じ SMS 検証コードを使用して複数のアカウントを登録できます。3. 並行性
モールのフラッシュセール機能など、並行処理が頻繁に発生しますが、並行処理がうまくいかないと同じ商品が売れてしまうことがあります。複数のユーザーによって購入されました。同時処理ソリューションでは、次のソリューションが検討できます。
(1) ロック テーブル操作。欠点は、同時実行数が比較的大きい場合に、システムのラグ。 (2) キュー(3) 負荷分散(4) データベースの読み取りと書き込みの分離(5) Nginx を http サーバーとして使用4. キャッシュ
#頻繁にアクセスする必要があるデータベース データの場合、キャッシュを使用してアクセス速度を向上させ、キャッシュ ファイルを読み取ることができます。データ通貨データベースから取得します。クエリははるかに高速です。主なキャッシュ テクノロジは次のとおりです:
(1) Thinkphp 独自の S() メソッド
(2) ファイルの読み取りと書き込み。このメソッドはデータを暗号化します。
(3) Memcached
推奨チュートリアル: PHP ビデオ チュートリアル
以上がPHP 開発で従うべき仕様は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。