開発ページ > コーディング規約 > コーディングスタイル

コーディングスタイル

文字列

文字列リテラル

文字列がリテラルの場合、シングルクォート「 ' 」で文字を囲む。

$abc = 'abc';
シングルクォートを含む文字列リテラル

リテラル文字自体にシングルクォートを含む場合は、ダブルクォート「 "」で文字を囲む。(SQLなど)

$sql = "SELECT 'name' , 'id' FROM 'people' "
     . "WHERE 'name'='abc' OR 'name'='def'";
変数の展開

変数の展開を行う方法は、波括弧「 { } 」で囲う方法を使用すること。

$abc = "こんにちは{$name}さん。";
文字列の連結

文字列の連結は、ピリオド「 . 」を使用すること。前後にスペースを入れ、コードを読みやすくすること。

$abc = 'abc' . '-' . 'def';

複数行に分ける場合、2行目以降の行頭にスペースを入れ「 = 」と、「 . 」を合わせる。

$sql = "SELECT 'name' , 'id' FROM 'people' "
     . "WHERE 'name'='abc' OR 'name'='def'";

配列

配列の添え字は0スタートとするように心がけること。
配列宣言する場合は、要素を区切るカンマの後にスペースを入れること。
最後の要素の後ろにカンマをつけないこと。

$sampleArray = array(1, 2, 3, 'abc', 'def');

複数行にまたがる場合、2行目以降の行頭にスペースを入れ、最初の要素の開始位置と合わせる。

$sampleArray = array(1, 2, 3, 'abc', 'def',
                     $a, $b, $c,
                     1.05, $d, 100
               );

最初の要素を2行目から開始する方法は、基本的には使用しない。
使用する場合は、下記方法のように読みやすいコーディングとすること。

$sampleArray = array(
                     1, 2, 3, 'abc', 'def',
                     $a, $b, $c,
                     1.05, $d, 100
               );

読みやすいコーディングとするため、多次元配列、配列の配列の使用は控えること。

連想配列

連想配列を宣言する場合、キーと値の位置を揃えること。
最後の要素の後ろにカンマをつけないこと。

$sampleArray = array('key1'   = 'value1',
                     'key2'   = 'value2',
                     'key777' = 'value777'
               );

最初の要素を2行目から開始する方法は、基本的には使用しない。
使用する場合は、下記方法のように読みやすいコーディングとすること。

$sampleArray = array(
                     'key1'   = 'value1',
                     'key2'   = 'value2',
                     'key777' = 'value777'
               );

クラス

クラス宣言

開始波括弧は常にクラス名の下に書くこと。
クラス内のコードは、クラス宣言より一段下げること。
ドキュメントブロックを書くかどうかは自由とする。

/**
 * ドキュメントブロック
 */
class SampleClass
{
    //クラスの内容
}

他のクラスを継承、インターフェースを実装しているクラスの宣言は、同じ行に含めるようにすること。

class SampleClass extends Abc implements Def
{
}

同じ行に含める事が難しい場合は、改行し一段下げる。

class SampleClass
    extends Abc
    implements Def
{
}

複数のインターフェースを実装している場合は、インターフェースを区切るカンマの後で改行すること。

class SampleClass
    implements Abc,
               Def
{
}
メンバ変数

クラス内部で使用する変数はクラスの先頭で宣言すること。
private , protected , publicのアクセス修飾子を用いてアクセス範囲を指定すること。
public宣言をして外部からアクセスさせることはせず、アクセサメソッドを使用すること。

関数・メソッド

関数・メソッドの定義

引数を指定する場合は、引数を区切るカンマの後にスペースをいれること。
開始波括弧は常に関数名の下に書くこと。
関数内のコードは関数宣言より一段下げること。
戻り値を括弧で囲まないこと。

function abc($aaa, $bbb, $ccc)
{
    //関数の内容
    return  $ddd;
}

引数が多く、同じ行に含める事が出来ない場合は改行し、下記のように読みやすいコーディングとすること。

function abc($aaa, $bbb, $ccc
             $ddd, $eee, $fff)
{
    //関数の内容
}

クラス内でメソッドを宣言する場合は、private , protected , publicのアクセス修飾子を用いてアクセス範囲を指定すること。

class SampleClass
{
    public function abc()
    {
        //メソッドの内容
    }
}
関数・メソッドの使用方法

引数を指定する場合は、引数を区切るカンマの後にスペースをいれること。
引数に配列を含む場合や、複数行にまたがるケースは、読みやすいコーディングとなるようにすること。

abc($aaa, $bbb, $ccc);


abc($aaa, $bbb, $ccc,
    array($ddd, $eee, $fff,
          $ggg, $hhh, $iii
    ), $jjj);

条件分岐

if文

どんなに単純な条件であっても、波括弧を省略する形式でのコーディングを許さない。
開始波括弧は改行し、条件指定の次の行に記述すること。
終了波括弧も常に改行し、単独で記述すること。
if文の中身は一段下げて処理の記述を行う。

if($a == 1)
{
    $a = $a + 1;
}

elseがある場合、ifの終了波括弧で改行し、次の行に記述すること。
elseの開始波括弧はifと同様に改行し、
次の行に記述すること。終了波括弧も同様。

if($a == 1)
{
    $a = $a + 1;
}
else
{
    $a = $a - 1;
}

elseifの場合も同様。

if($a == 1)
{
    $a = $a + 1;
}
elseif($a == 2)
{
    $a = $a - 1;
}
else
{
    $a = $a * 2;
}

条件が複雑な場合、改行してもかまわないが、読みやすいコーディングを心がけること。

if(($a == 1 && $b == 2)
   || $c == 3
)
{
    $a = $a + 1;
}
switch文

開始波括弧は改行し、条件を指定する括弧の次の行に記述すること。
終了波括弧も常に改行し、単独で記述すること。
switch文の中身は一段下げ、各case文の中身もさらに一段下げて記述すること。
defaultを省略することは許さない。
caseの最後にbreak;、return;をしない場合は、理由をコメントで記述すること。

switch($abc)
{
    case  1:
        break;
    case  2:
        break;
    default:
        break;
}

繰り返し

for文

開始波括弧は改行し、for文の次の行に記述すること。
終了波括弧は改行し、単独で記述すること。
for文の中身は一段下げて記述を行う。

for($a = 0; $a < 10; $a++)
{
    echo $a;
}
while文

開始波括弧は改行し、while文の次の行に記述すること。
終了波括弧は改行し、単独で記述すること。
while文の中身は一段下げて記述を行う。

$a = 0;

while($a < 10)
{
    $a++;
}
do while文

出来る限り使用を控えること。

開始波括弧は改行し、do文の次の行に記述すること。
終了波括弧は改行し、単独で記述すること。
do while文の中身は一段下げて記述を行う。

do
{
    $a++;
}
while($a < 10)
foreach文

開始波括弧は改行し、foreach文の次の行に記述すること。
終了波括弧は改行し、単独で記述すること。
foreach文の中身は一段下げて記述を行う。

foreach($sampleArray as $value)
{
    echo $value;
}