規約

Yii は「設定より規約 conventions over configurations」を支持します。 規約を守れば、複雑な設定を書いて管理しなくても、洗練された Yii アプリケーションを作成できます。 もちろん、必要なときには、Yii はほぼ全ての面で設定によるカスタマイズが可能です。

下記では Yii プログラミングで推奨される規約を述べます。 便宜上、Yii アプリケーションのインストールされている位置を WebRoot であると仮定します。

URL

デフォルトでは、Yii は 下記のフォーマットの URL を認識します:

http://hostname/index.php?r=ControllerID/ActionID

GET 変数 rルート (経路) を参照し、 Yii によってコントローラとアクションに解決されます。 もし ActionID が省略された場合は、コントローラはデフォルトアクション (CController::defaultAction で定義されたもの)を使用します。 そして、もし ControllerID も省略された場合 (または r の変数が無い場合) は、 アプリケーションは (CWebApplication::defaultControllerで定義された) デフォルトのコントローラを使用します。

CUrlManager の助けによって、http://hostname/ControllerID/ActionID.html の様な、より SEO フレンドリーな URL を作成・認識することが可能です。 この機能については、URL の管理 において詳細にわたって説明しています。

コード

Yii は変数名、関数名、クラス名に、キャメルケースを使用することを推奨します。 単語の最初の文字を大文字に変換し、空白を除いて連結します。 変数名と関数名は、クラス名と区別をつけるために、最初の単語の先頭は小文字で始めます (例えば $basePath, runController(), LinkPager)。 プライベートなクラスメンバ変数には、アンダースコアを前置詞に使用することを推奨します (例えば $_actionList)。

名前空間が PHP 5.3.0 よりも前のバーションではサポートされていないので、 サードパーティーのクラス名と衝突を避けるために、独自の命名方法を用いる事が推奨されます。 この理由によって、Yii のフレームワークのクラスは全て "C" という文字を前置詞として用いています。

コントローラのクラス名に対する特別な規則は、Controller という単語を語尾に追加しなければならない、というものです。 そして、コントローラ ID は、クラス名の先頭を小文字にし、Controller の部分を取り除いたものとして定義されます。 例えば PageController というクラスは、page という ID を持つことになります。 このルールはアプリケーションをより安全にします。 そして、このコントローラに結びついた URL を少し綺麗にします (例えば、/index.php?r=PageController/index の代わりに /index.php?r=page/index になります)。

初期設定

初期設定はキーとバリューが対になった配列です。 それぞれのキーは設定されるオブジェクトのプロパティの名前を表し、 それぞれの値は対応するプロパティの初期値です。 例えば array('name'=>'My application', 'basePath'=>'./protected')name プロパティと basePath プロパティを対応する配列の値で初期化します。

オブジェクトの書き込み可能なプロパティがすべて初期設定可能です。 何も設定しない場合は、プロパティはそのデフォルト値で初期化されます。 プロパティを初期設定するときには、初期値が正しく与えられるように、対応するドキュメントを読むことが有益です。

ファイル

ファイルの命名規約と使い方はファイルのタイプによって異なります。

クラスファイルは、それが含むパブリッククラスに従った名前を付けなければいけません。 例えば、CController クラスは CController.php ファイルに格納されます。 パブリッククラスとは他のクラスから利用される可能性のあるクラスです。 それぞれのクラスファイルは一つまでしかパブリッククラスを含んではいけません。 プライベートクラス (一つのパブリッククラスによってのみ利用されるクラス) はパブリッククラスと同じファイルに入れる事が出来ます。

ビューファイルはビュー名に従って名づけられなければいけません。 例えば、index ビューは index.php ファイルの中に入ります。 ビューファイルは、HTML と 主に表示目的の PHP コードを含んだ PHP スクリプトファイルです。

初期設定ファイルは自由に名づけることが出来ます。 初期設定ファイルは、初期設定のための連想配列を返す事だけを目的とした PHP スクリプトです。

ディレクトリ

Yii は様々な目的で使用される各種のディレクトリについて、一連のデフォルト名を仮定しています。 それぞれのディレクトリ名は、必要ならばカスタマイズする事が可能です。

データベース

ほとんどのwebアプリケーションはデータベースを使用しています。 データベースのテーブル名とカラム名については、ベストプラクティスとして、以下の命名規則を提案します。 ただし、これらは Yii による要求ではないことに注意して下さい。

$Id$