CakePHP2.5.5でコントローラを使ってみる
前回の続き。
今回はCakePHP1.3.6のこちらのログをCakePHP2.5.5でなぞってコントローラだけを使ってみる。
CakePHPはCOC(Convention over Configuration)を採用したフレームワークなので、これに準じて確認用コントローラーを作成する。
- コントローラーは、/app/controllers配下におく。
- コントローラーのファイルは、[プログラム名]Controller.phpとする。(キャメル記法:Cake1系ではここがアンダースコア記法だった)
- コントローラーのクラス名は、[プログラム名]Controllerとする。(キャメル記法)
- コントローラーのメンバ変数$nameには、キャメル記法のプログラム名を入れる。
- かならず、index()メソッドを作成する。
「プログラム名」はTesCakeにする。/app/controllersに「TestCakeController.php」を作成し、以下のコードを書く。
<?php class TestCakeController extends AppController{ public $name = 'TestCake'; public $uses = null; public $autoRender = false; function index(){ echo "これはCakePHP2.5のコントローラーのテストです"; } } ?>
メンバー変数の$usesはモデル、$autoRenderはビューテンプレートの利用を意味するので、ここでは、それぞれnull, falseにして、index()にあるecho文でレスポンスを返す。
これで、/localhost/workspace/cakesample/TestCakeにアクセスすると、index()が呼ばれ、以下の画面がでる。
メソッドの呼び出しは、/プログラム名/メソッド名で行われる
以下のコードを書いてみる。
<?php class TestCakeController extends AppController{ public $name = 'TestCake'; public $uses = null; public $autoRender = false; function index(){ echo "これはCakePHP2.5のコントローラーのテストです"; } function index2(){ echo "This is a test of CakePHP2.5 Controller"; } } ?>
ここで、/localhost/workspace/cakesample/TestCake/index2にアクセスすると、index2()が呼ばれ、以下の画面がでる。