wiki:EC-CUBE標準規約

Version 8 (modified by nanasess, 17 years ago) (diff)

--

TOC ※ まだ書きかけです...

EC-CUBE標準規約

基本的に  Zend Framework PHP 標準コーディング規約 に順ずる.
以下, 要点及び相違点を規定する.

命名規約

ファイル名

  • 拡張子は, 各ファイル形式に準ずる.
    • 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

  • ラジオボタン, チェックボックスは <label></label> で囲み, 文字をクリックしてもチェックされるようにする.

PHPコード

  • PHPコードの開始タグと, 終了タグは以下のように記述する.
    • 終了タグの後に必ず LF (UNIX の改行コード)を1つ入れる.
      <?php
      
      ?>
      
      

制御文

  • if, for, while, switch 等の制御構造は, 次のルールで開き括弧で記述する.
  • インデントは, 半角スペース4文字を使用し, タブは使用しない.
  • if 文
    <?php
    if ($flag == '1') { // '1' == $flag と書くのは NG
        $ret = 1;
    } elseif ($flag == '2') {
        $ret = 2;
    } else {
        $ret = 3;
    }
    ?>
    
    
    • 判定文の対象となる処理結果は先に記述する.
  • for 文
    <?php
    for ($i = 0; $i < $max; $i++) {
        echo $i . "\n";
    }
    ?>
    
    
  • foreach 文
    <?php
    foreach ($var as $key => $val) {
        echo $key . ":" . $val . "\n";
    }
    ?>
    
    
  • while 文
    <?php
    while ($flag) {
        var_dump($flag);
    }
    ?>
    
    
  • do while 文
    <?php
    do {
        var_dump($flag);
    } while ($flag);
    ?>
    
    
  • switch 文
    <?php
    switch ($var) {
    case VAR_ONE:
        echo "one";
        break;
    
    case VAR_TWO:
        echo "two";
        break;
    
    default:
        echo "default":
    
    }
    ?>
    
    
    • case の記述は, 定数を用いるのが望ましい.

文字列

SQL文

コメント