ルートに名前を付けましたadmin/login/
'adminLogin' => new Zend_Controller_Router_Route(
'admin/login/',
array('controller' => 'index', 'action' => 'login', 'module' => 'admin')
),
assemble()
次に、ルーターの関数を呼び出しているコントローラーを見てみましょう。
class Admin_Controller_Index extends Zend_Controller_Action
{
public function loginAction() {
echo Zend_Controller_Front::getInstance()->getRouter()->assemble(
array(
'controller' => 'index',
'action' => 'authentificate',
'module' => 'admin'
)
);
// will output /admin/login
//any other plays with assemble() function will always return /admin/login
//Why???
exit;
}
public function authenitifcateAction() {
echo Zend_Controller_Front::getInstance()->getRouter()->assemble(
array(
'controller' => 'index',
'action' => 'authentificate',
'module' => 'admin'
)
);
//will output /admin/index/authentificate as expected
//any other plays with assemble() function will aslo return expected values
exit;
}
}
そのため、assemble()
route という名前のコントローラーのアクションで呼び出された場合、常に予期しない値を返します。
私は何を間違っていますか?