どうも、最近は業務でコードを書くことがめっきり減ったサーバ運用おじさんです。

そんな自分が PHP でコードを書くときに意識していることを軽〜く紹介。

ちなみに PSR というのはこれ。
http://www.php-fig.org/psr/

PHP 自体はスクリプト言語で、比較的適当な書き方でも動かせちゃうので便利。
・・・ってのが仇となり、あちこちで色々なコーディングルールが出来てしまい統一感がなくなってしまった。

そんな状況を解決しようと、 PHP-FIG という団体が、
「みんなこのルールで統一しろ」 って作ったのが PHP Standards Recommendations(PSR)です。

巷でよく聞く PHP Framework は、ほとんどこの PSR を準拠しています。
PSR-0, PSR-1, PSR-2 に関しては、日本語ドキュメントもあるのでぜひ読んで見てください。
↓ここから飛べばいけるよ
http://qiita.com/hshimo/items/04be1f432240c58300f4

1. インデントは半角スペース 4つ・ネストを意識して統一

<?php
function out ($names = "")
{
    $say = "";
    if (empty($names)) {
        $say = "全員";
    } else {
        if (empty($names[1])) {
            $say = $names;
        } else {
            $say = implode(",", $names);
        }
    }
    $say = $say ." OUT !! <br />";
    return $say;
}

2. クラス・関数の中カッコ {} は、一段下から書き始める・ドキュメントを書く

<?php
/**
 * 何か言うクラス
 * @author lamiceb
 **/
class Say
{
    /**
     * 引数に名前を入れられた人がケツバット。
     * 名前が入っていなかったら全員ケツバット。
     * @param array $names 入力された名前
     * @return array
     **/
    function out ($names = "")
    {
        $say = "";
        if (empty($names)) {
            $say = "全員";
        } else {
            if (empty($names[1])) {
                $say = $names;
            } else {
                $say = implode(",", $names);
            }
        }
        $say = $say ." OUT !! <br />";
        return $say;
    }
}

3. 配列の最後の要素には、後ろにカンマ( , )を残す

<?php
$names = array(
    "浜田",
    "松本",
    "遠藤",
    "田中",
    "方正",
);

$say = new Say();
echo $say->out($names);

4. ファイルの最後は1行分の空行を作る・PHP閉じタグ( ?> )はつけない

<?php
/**
 * 何か言うクラス
 * @author lamiceb
 **/
class Say
{
    /**
     * 引数に名前を入れられた人がケツバット。
     * 名前が入っていなかったら全員ケツバット。
     * @param array $names 入力された名前
     * @return array
     **/
    function out ($names = "")
    {
        $say = "";
        if (empty($names)) {
            $say = "全員";
        } else {
            if (empty($names[1])) {
                $say = $names;
            } else {
                $say = implode(",", $names);
            }
        }
        $say = $say ." OUT !! <br />";
        return $say;
    }
}

$names = array(
    "浜田",
    "松本",
    "遠藤",
    "田中",
    "方正",
);

$say = new Say();
echo $say->out($names);

Shere
  • はてなブログ
  • Twitter
  • Facebook
PSR に則って自分が意識しているコーディング方法

Writer

  • Name

    decimal

  • Position

    サーバ運用系男子(夜勤もあるよ!)

  • Profile

    気が向いた時はオフィスにいます