[[TOC]] ※ まだ書きかけです... = EC-CUBE標準規約 = 基本的に [http://framework.zend.com/manual/ja/coding-standard.html Zend Framework PHP 標準コーディング規約] に順ずる.[[BR]] 以下, 要点及び相違点を規定する. == 命名規約 == === ファイル名 === * 拡張子は, 各ファイル形式に準ずる. * PHPファイルは, 必ず .php を使用する. * PHPクラスは, 特別な場合を除き, 1クラス1ファイルとし, '''クラス名.php''' とする. === PHPクラス名 === * 区切り文字としてはアンダースコア(_)を使用する. * クラス名称の先頭には, 大文字でその種類を表す Prefix を付加する. ||'''Prefix'''||'''種類'''||'''例'''|| ||GC ||全サイトで共有するクラス||GC_SendMail.php|| ||SC ||1つのサイト内で共有するクラス||SC_Customer.php|| ||LC ||1つのソースファイル内で使用するクラス||LC_Page_Abouts.php|| * クラスがパッケージに属する場合は, Prefix の後にパッケージ名を付加する. * Page パッケージでインデックスページとしてアクセスされるクラス名は Index とせず, 属する階層名をクラス名とする. * ユーザーが拡張するために extends するクラスは, クラス名の最後に Ex を付加する. === 関数名 === * 関数名の先頭には, 小文字でその種類を表す Prefix を付加する. * クラス名で種類が判別可能な場合はこの限りではない. * 名称が複数の単語からなる場合, それぞれの単語の先頭を大文字にする. * 関数名は, '''Prefix + 動詞 + 対象''' を原則とする. ||'''Prefix'''||'''種類'''||'''例'''|| ||gf ||全サイトで共有する関数||gfGetProductName()|| ||sf ||一つのサイト内で共有する関数||sfGetProductName()|| ||lf ||一つのソースファイル内で使用する関数||lfGetProductName()|| ||fn ||!JavaScript で宣言された関数||fnGetProductName()|| === 変数名(Smarty 変数も含む) === * 変数名の先頭には, 小文字でその種類を表す Prefix を付加する. * ループ等で一時的に使用する, 数値型の変数には慣習的な $i, $j, $k を使用しても良い. * 区切り文字としてアンダースコア(_)を使用する. ||'''Prefix'''||'''種類'''||'''例'''|| ||obj ||クラス変数(オブジェクト)||$objDb_Conn|| ||arr ||配列||$arrCustName|| === 定数名 === * すべて大文字で宣言する. * 区切り文字としてアンダースコア(_)を使用する. === DBテーブル名 === * テーブル名の先頭には, 小文字でその種類を表す Prefix を付加する. * 区切り文字としてアンダースコア(_)を使用する. ||'''Prefix'''||'''種類'''||'''例'''|| ||mtb ||マスタデータ||mtb_pref|| ||dtb ||データテーブル||dtb_shop|| ||vw ||ビュー ||lvw_order|| === DBカラム名 === * ''特に定義なし'' === CSS クラス名 === * ''特に定義なし'' == コーディング規約 == === HTML === * ラジオボタン, チェックボックスは '''''' で囲み, 文字をクリックしてもチェックされるようにする. === PHPコード === * PHPコードの開始タグと, 終了タグは以下のように記述する. * 終了タグの後に必ず '''LF''' (UNIX の改行コード)を1つ入れる. {{{ #!php }}} === 制御文 === * if, for, while, switch 等の制御構造は, 次のルールで開き括弧で記述する. * インデントは, 半角スペース4文字を使用し, タブは使用しない. === if 文 === * 判定文の対象となる処理結果は先に記述する. {{{ #!php }}} === for 文 === {{{ #!php }}} === foreach 文 === {{{ #!php $val) { echo $key . ":" . $val . "\n"; } ?> }}} === while 文 === {{{ #!php }}} === do while 文 === {{{ #!php }}} === switch 文 === {{{ #!php }}} * case の記述は, 定数を用いるのが望ましい. === 文字列 === === SQL文 === === コメント ===