Backend コーディング規約・セキュリティーポリシー Guideline -back end-

Overview

このガイドラインはウェブサイトを制作するうえで、守っていただきたい内容をまとめたものです。ガイドラインがある意味と内容をよく理解し、ガイドラインに則ったコーディングを行ってください。
なお、案件に独自のガイドラインやコーディングの指示がある場合にはそちらを優先してください。
ここではサーバーあるいはインフラ・ネットワークのセキュリティー・ポリシーからフロントエンドとのAjaxなどの接続まで基本的な規約をまとめています。セキュリティーまたはコード実装においては、

  1. 無駄なコードは書かない。無駄な設定はしない。必要なコードを書く。必要な設定をする。
  2. シンプルにする。
  3. 例外を極限まで少なくする。
  4. 車輪の発明禁止。

となります。ここれは原則を記載し例外は各Documentに記載する。

PHPコーディング

1. PHPコーディング仕様基本事項

項目 仕様
文字コード UTF-8
改行コード LF
属性値指定 ダブルクオーテーション「”」を利用 (*1)
インデント 4スペース
80文字(ソフトリミット)(*2)
*1. エスケープが複雑で過多な場合はシングルクォートで代用する。
*2. ハードリミットは設けない。

2. PHP基本方針

  • PHP-FIGの規約に従う。
  • functionは可能な限りclass化(カプセル化)する。
  • 拡張子はphpとする。
  • 変数・関数は基本的にキャメルケースとする。(フレームワーク上の規約がある場合はそれに準じる)
  • 小さなアプリケーションもcomposer及びAutoloadを推奨する。
  • 可能な限りPHPの最新を使用する。
  • 非推奨関数は利用しない。(*1)
  • HTMLタグを含むハードコード以外で全角スペースは利用しない。
  • データベース接続はPDO接続のみとし旧式の接続方式を採用しない。
  • アプリケーションの設定に関わるApacheの記述は.htaccessに行う。httpd.confなどの上位の階層で行わない。

2.1 PHPファイル全体のフォーマット

  • 開始タグは必ず “<?” ではなく標準の “<?php” を使用する。
  • PHPコードのみからなるファイルでは終了タグ “?>” を含めない。
  • デバックコメントは//、純粋なコメントやタイトルは/**/、#は理由がない限り利用しない。

2.2 設計と作業フロー

  • 環境依存の設定項目は極限まで少なくする。
  • PHP-FIGの設計思想に従う。
  • 基本的にはMVCとしMVCが混在したコードは書かない。
  • configファイルやdefineファイルは1つに統一する。複数必要な場合はオーバーライド式の階層構造をもたせる。
  • classは名前空間をもたせること。
  • 関数は必ずユニットテストを行う。ユニットテストを行えないものは、テスト手順書を作成する。(*2)
*1. 非推奨関数が旧式のシステムに含まれていた場合は可能な限り推奨関数で代用する。
*2. 仕様検討中。

各種コーディング規約

Last update: 2018.03.19 (月)