アクション名は小文字とアンダースコアを使うこと
アクション名に大文字は避けたほうが無難。
その1
http://ameblo.jp/tondemonight/entry-10117208283.html
class HelloWorldController extends AppController { public $name = 'HelloWorld'; public $uses = null; // $uses = array(); でも同じ動作 public $autoRender = false; function index() { echo "hello world!"; }
}
これを
/cakeを配置した場所/app/controllers/hello_world_controller.php
としてサーバーに保存してやります。
ブラウザで
http://自分のドメインでcakeを配置した場所/hello_world/
としてアクセスすると、普通のHello Worldが表示されるようになります。
ビューを使いたい場合は
$autoRender = false;
の行を削除するか、
$autoRender = true;
とします。
デフォルトがtrueなので普通は削除します。
そうすると、
/cake/xxxxx/app/views/hello_world/index.ctp(cake1.1の場合index.thtml)
をテンプレートファイルとして勝手に読み込みにいってくれます。
テンプレートファイルを読み込んで、テンプレートの一部書き換えをする動作を
Cakeではレンダリングと呼んでいるようです。
モデルを使いたい場合は
$uses = null;
のところにモデル名の配列を指定します。
$uses = array("Modelname");
みたいな感じ。
その2
<?php /* ** hello_controller.php (revised) ** Put this file in your {Cakeinst}/app/controller folder */ class HelloController extends AppController { var $name = "Hello"; var $uses = null; function index() { $data = 'Hello world!'; $this->set('data', $data); } } ?>
<!-- /* ** index.thtml ** put this file in your {Cakeinst}/app/views/hello folder */ --> <hr size=1/> <h1><?php echo $data ?></h1> <hr size=1/>
エラー処理
※debug を0にするとこのエラー処理は使えないので、その場合はredirectを使う。
http://book.cakephp.org/ja/view/154/Error-Handling
app/app_error.php を作成
<?php class AppError extends ErrorHandler { $this->_outputMessage('error_test'); } ?>
app/views/errors/error_test.ctp を作成
<p>エラーだよ</p>
controller からの呼び出し
$this->cakeError('error_test');
リダイレクト
controller の redirect を使う。
[通知用URL]
Tweet
最終更新時間:2010年03月25日 18時34分31秒