基本方針

本コーディング規約は、DPF Framework によるアプリケーション開発のコーディングルール、推奨する指針を提供するものです。DPF におけるコーディング指針は、コードの保守性を一定以上に保ち、新しいコードをデベロッパがすばやく理解できるよう、ソフトウェアの可読性を向上させるものです。実際のコーディングに当たっては、メンバ全員が規約を正しく理解している必要があります。

PHP の書式

PHP コードの開始と終わり

PHP のプログラムを記述するにあたり、標準的な次のタグを宣言する必要があります。短縮形の "<? ?>" を使うと、OS や設定が異なる環境でコードが読み込まれない可能性があります。

PHP タグの明示化
<?php
?>

PHP スクリプトだけで構成されるファイルの場合、終了タグ ("?>") は含めてはいけません。これは、改行コードが出力される問題を回避します。

インデント

プログラムを読みやすくするため、適宜インデントを挿入して下さい。インデントには、2 つの空白記号を使用します。タブは使用環境により幅が異なるため使用しないで下さい。

インデントの例
{
  // 2 つの空白記号を使用
  $foo = 0;
}

1 行辺りの長さ

プログラムにおける 1 行辺りの長さは 80 文字程度に抑えるよう目指して下さい。(長くても 120 文字程度まで)

ファイルの読み込み

プログラム中に読み込みたいクラスファイルは、基本的に全て config/class_load.ini に定義して下さい。 それ以外のファイルは、適時 require_once を用いて読み込みます。
尚、require_once は命令であり関数ではないため、括弧を付けてはいけません。

コメント

プログラム中にコメントを記述する上での規約は次の通りです。

文字列と配列

文字列リテラル

リテラル文字列はシングルクォートで括ります。ただし例外的に、シングルクォートを含む文字列の場合は、ダブルクォートで括っても構いません。

文字列リテラルの例
$var = 'stock';
$var = "stock's"

文字列の結合

複数の文字列を結合する場合は、"." 演算子を用います。"." の前後には常に 1 つの空白記号を入れて下さい。文字列が複数行に渡る場合は、2 行目以降の "." 演算子位置が "=" の位置になるよう調整する必要があります。

文字列結合の例
$var = 'Http' . 'Request';

$sql = 'select count(foo) '
      . 'from bar '
      . 'where ...';

配列

配列を定義する上での規約は次の通りです。

配列宣言の例
$array = array(1, 2, 3, 'foo', 'bar');

// 配列を宣言せずに $foo を使用してはいけません
$foo['bar'] = 'in';

制御構造

制御構造における共通スタイル

if / else / else if

if / else / elseif の例
if ($condition == 0) {
  $var = 0;
} else if ($condition == 1) {
  $var = 1;
} else {
  $var = 2;
}

for

for の例
for ($i = 0; $i < $cnt; $i++) {
  ...
}

switch case

switch case の例
switch ($condition) {
  case $a:
     break;
  case $b:
     break;
   default:
     break;
}

クラス

クラスの宣言

クラスを定義する上での規約は次の通りです。

次にコーディング規約に則ったクラス定義の例を示します。

クラス定義の例
/**
 * ドキュメントブロック。
 */
class Foo
{
}

クラスメンバの宣言

クラスメンバ変数を定義する上での規約は次の通りです。

関数及びメソッドの宣言

関数及びメソッドを定義する上での規約は次の通りです。

次にコーディング規約に則ったメソッド定義の例を示します。

メソッド定義の例 (one true brace 表記)
class Bar
{
  public function foo()
  {
    return 0;
  }
}

クラス定数

クラス定数を定義する上での規約は次の通りです。

上へ