[CodeIgniter] 覚えておくべきルール(命名規則、禁則)

CodeIgniterのルールの中には、「じゃあそんなオプション消しとけよ」と思うようなこともあるので、メモしておきます。

すべての根拠は PHPコーディングスタイル : CodeIgniter ユーザガイド 日本語版 から。

★short_open_tag は使わない

サーバーで short_open_tag が有効でないケースもあるので、常に完全なPHP開始タグを用います。

インデントにはスペースではなくタブを使う

言語やフレームワークによってこのあたりはまちまちですが、CIではタブ推奨。以下がその理由。

  • スペースの代わりにタブを使う事で、開発者がどのようなアプリケーションを利用していても、各自が見やすくカスタマイズしたインデントレベルでコードを見る事が可能になる
  • さらに副次的な効果として、例えば4つのスペースに対して1つのタブを用いる事で(わずかではありますが)ファイルがよりコンパクトになる

(個人的には、半角スペースでインデントされたソースは、キーボードで移動するとき連打を強要させられるので、このルールには賛成です。)

TRUE, FALSE, NULL は、常に大文字を使う

理由はよくわからないけど、そうするらしいです。

PHPの終了タグは書かない

「?>」はエラーに繋がるので書かない。

★命名規則

キャメルケースは使わず、アンダースコアとの組み合わせで表現する。

クラス名: 先頭大文字+アンダースコア

間違い:
class superclass
class SuperClass

正しい:
class Super_class

ファイル名、変数名: 小文字+アンダースコア

間違い:
function fileproperties()   // 表現がわかりにくく、アンダースコアが抜けている
function fileProperties()   // 表現がわかりにくく、キャメルケースが使われている
function getfileproperties()    // ベター! しかしながらアンダースコアが抜けている
function getFileProperties()    // キャメルケースが使われている
function get_the_file_properties_from_the_file() // 長過ぎる

正しい:
function get_file_properties()  // 説明的、アンダースコア、全て小文字