アクション名は小文字とアンダースコアを使うこと
アクション名に大文字は避けたほうが無難。
その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秒