TOC
※ まだ書きかけです...
EC-CUBE標準規約
基本的に Zend Framework 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つ入れる.
制御文
- 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":
}
?>
文字列
SQL文
コメント