PSR-1(Basic Coding Standard)を見ていく
諸々あってPSRを順番に確認していく・・・!
オリジナルはこちら
概要
<?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
と同義だと思われ。
PSR-2へ続く・・・