Zend Framework 1路由问题异常

时间:2014-10-01 13:57:10

标签: php zend-framework

大家好我在Zend Framework 1的路由问题。我一直收到这个错误:

Exception information:

Message: Action "testfree" does not exist and was not trapped in __call()
Stack trace:

#0 Zend/Controller/Action.php(518): Zend_Controller_Action->__call('testfreeAction', Array)
#1 Zend/Controller/Dispatcher/Standard.php(295): Zend_Controller_Action->dispatch('testfreeAction')
#2 Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#3 Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
#4 Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#5 public/index.php(46): Zend_Application->run()
#6 {main}  

Request Parameters:

array (
  'controller' => 'journal',
  'action' => 'testfree',
  'journal_id' => '23',
  'module' => 'default',
)  

这是html

中的链接
<a class="button" 
   href="<?php echo $this->url(
       array(
           'module'     => 'default', 
           'controller' => 'journal', 
           'action'     => 'testfree', 
           'journal_id' => $this->journal->id
       ), 
       null, 
       false) 
?>">Test Free</a>

我在模块的默认子目录中有一个名为JournalController的Controller。它有一个名为testfree()的方法。我想称这种方法。

这是Controller

的代码
public function testfree(){
        echo "test free";
        die();
    }

我没有使用Zend的经验。我试图改变我的同事所做的一项工作。任何人都可以告诉我我哪里出错了?我是否需要更新Bootstrap.php文件中的内容?

非常感谢任何帮助

1 个答案:

答案 0 :(得分:3)

testfree是一项操作,因此请尝试将&#39;操作&#39; 添加到名称中:

public function testfreeAction(){
  ...
}