Php Zend framework:除了控制器中的索引操作之外,没有其他操作是可调用的
我有一个带有两个操作的控制器文件,即:Php Zend framework:除了控制器中的索引操作之外,没有其他操作是可调用的,php,model-view-controller,zend-framework,zend-view,zend-controller,Php,Model View Controller,Zend Framework,Zend View,Zend Controller,我有一个带有两个操作的控制器文件,即: class IndexController extends Zend_Controller_Action { public function init() { /* Initialize action controller here */ } public function indexAction() { // action body } public funct
class IndexController extends Zend_Controller_Action
{
public function init()
{
/* Initialize action controller here */
}
public function indexAction()
{
// action body
}
public function doLoginAction()
{
// action body
}
}
以及相应的视图文件。
i、 当我点击它时,加载索引视图。
我面临的问题是,当我尝试访问这个控制器的index操作时,它将加载相应的视图,但当我尝试点击dologin操作时,它会给出
错误
*消息:操作dologin不存在,并且未被困在\uu调用中*
请求参数:
array (
'controller' => 'index',
'action' => 'dologin',
'module' => 'default',
)
当我尝试使用另一个控制器和操作时,也会发生同样的情况。该控制器的索引操作也可以正常运行,但控制器中的任何其他操作都不能运行
注意:我已经在apache配置文件中配置了mod_rewrite模块和AllowOverride,所有以驼峰大小写的动作名称都应该用虚线表示为参数。因此,doLoginAction将响应/default/index/do login,而不是dologin。如果您希望URL为dologin,则应将操作重命名为dologinAction。您也可以在控制器级别使用连字符分隔的URL 假设您需要这样一个url: 那么您的控制器应命名为:
DoSomeStuffController (as class name) && DoSomeStuffController.php (as controller file name)
及
我想这和多洛金有关。可能是一个保留的关键字。因为当我用其他名称创建一个新函数时,它工作得很好
myStuffAction() (as your method name)