Yiiのコントローラとは

Yiiの公式サイトによると、『コントローラ は CController か、CControllerを拡張したクラスのインスタンスです。 コントローラは、ユーザが要求した時にアプリケーションオブジェクト により生成されます。コントローラは、起動されると、要求されたアクションを実行するために、通常は、必要なモデルを取り込んで適切なビューを表示します。 アクションは、最も単純化された形式としては、コントローラクラスの action で始まる名前のメソッドです。』とありますが、Yiiの公式サイトは難しくてわかりづらいので、私なりにまとめてみたいと思います。

1) コントローラのクラス名は、先頭文字が大文字で始まるキャメルケースで命名され、Controllerという単語が末尾に付加される(例:SiteController、WelcomeController)。

2) コントローラのファイル名は、クラス名と同じ名前をつける(例:クラス名がSiteControllerならファイル名は、SiteCotroller.php)。

3) コントローラIDは、クラス名の先頭を小文字にし、Cotrollerを削除した文字である(例:コントローラ名がWelcomeControllerならコントローラIDはwelcomeである)。

4) デフォルトのコントローラ名は、SiteControllerである。ゆえに、デフォルトのコントローラIDはsiteである。

5) アクション名は、小文字で始まるactionに、大文字で始まるアクションIDを付加した文字である(例:actionIndex、actionTest)。

6) ActionIDは、アクション名からactionを削除した残りの文字の先頭を小文字に変換した文字である(例:actionIndex→index、actionPlay→play)

7) コントローラのデフォルトアクションはactionIndexである。ゆえに、デフォルトのアクションIDはindexである。

8) ルートはスラッシュとコントローラにより連結される。たとえば、ルートフォルダにあるindex.phpから『SiteController』の『actionIndex』にアクセスするには、URLは下記のようになる

http://ドメイン名/index.php?r=site/index

尚、デフォルトのコントローラID(site)とアクションID(index)は省略できるので、下記のように書き換えることが出来る。

http://ドメイン名/index.php又は、http://ドメイン名

9) コントローラのインスタンスは 『frameworl/web/CWebApplication.php』 が入ってきたリクエストを処理する 際に生成されます

以下にもコントローラについて述べられていましたが、いまいち理解度が足りないので、本日は以上です。

タグ

2011年11月22日 | コメント/トラックバック(0) |

カテゴリー:Yii

このページの先頭へ