恥知らずのウェブエンジニア -web engineer, shameless

これは一歩を踏み出すことができない者たちのブログ

PSR-1(Basic Coding Standard)を見ていく

諸々あってPSRを順番に確認していく・・・!

オリジナルはこちら

www.php-fig.org

概要

  • <?php<?=タグのみ使用。閉じタグはなし
  • UTF-8 BOMなし
  • シンボル(クラス、関数、定数)を宣言するファイルと副作用のあるもの(出力、iniの変更など)は分ける
  • namespace,クラス名は“autoloading” PSR: [PSR-0, PSR-4]に従う
  • クラス名は、StudlyCaps(単語の先頭文字を大文字。UpperCamelCase?)で定義(ex:FooBarHogeClass)
  • クラス定数は大文字で、区切りはアンダースコアで定義
  • メソッド名はcamelCaseで定義

ちょっと気になったもの

  • シンボル(クラス、関数、定数)を宣言するファイルと副作用のあるもの(出力、iniの変更など)は分ける

例としては下記のようなものが上げられていました。

副作用あるもの、設定と実装は分けましょう的な感じかと

<?php
// side effect: change ini settings
ini_set('error_reporting', E_ALL);

// side effect: loads a file
include "file.php";

// side effect: generates output
echo "<html>\n";

// declaration
function foo()
{
    // function body
}

<?php
// declaration
function foo()
{
    // function body
}

// conditional declaration is *not* a side effect
if (! function_exists('bar')) {
    function bar()
    {
        // function body
    }
}
  • クラス名は、StudlyCaps(単語の先頭文字を大文字。UpperCamelCase?)で定義(ex:FooBarHogeClass)

StudlyCapsは元々?は大文字小文字が入り乱れるようなのですが、ここでは実質UpperCamelCaseと同義だと思われ。

Studly caps - Wikipedia

PSR-2へ続く・・・

PSR-2: Coding Style Guide - PHP-FIG