Zend_Controllerの履歴
とりあえず動かす
<?php // main $ctrl = Zend_Controller_Front::getInstance(); $ctrl->setControllerDirectory('app/controllers'); $ctrl->dispatch(); // app/controllers/IndexController.php class IndexController extends Zend_Controller_Action{ public function indexAction(){ $this->view->assign('time', time()); } } // app/controllers/ErrorController.php class ErrorController extends Zend_Controller_Action{ public function errorAction(){ } } // app/views/scripts/index/index.phtmlと // app/views/scripts/error/error.phtmlも用意しておく // ?>
エラーを捕捉したい場合
<?php $ctrl->dispatch(); $exceptions = $ctrl->getResponse()->getException(); if ($exceptions){ var_dump(array_shift($exceptions)); } ?>
テンプレートにassignして、出力する
<?php function hogeAction(){ $this->view->assign('time', time(); } ?> // app/views/scripts/index/hoge.phtml /* <html> <body> now: <?php echo $this->view->time ?> </body> </html> */
Zend_Controller_Action
初期化はinit()に書く
$this->viewにデフォルトのViewが入ってる。
Zend_Controller_Router
// Requestの書き換え $router = new Zend_Controller_Router_Rewrite(); $router->addConfig($config); $this->request = $router->route($this->request); // URLの構築 $url = $baseUrl . $this->router->assemble($params, $name, true);
Regexでassembleする場合は逆向きの設定をしなければならない。コンストラクタの第4引数か、reverseオプションで与える