zend框架简单的动作问题

时间:2011-06-28 02:40:40

标签: zend-framework-mvc

我正在使用Zend Server在Zend MVC中创建一个hello world项目。一些如何路线错误。我通过zend_tool zf.sh创建项目来创建项目,所以它创建了所有目录本身,并且我修改为indexController以尝试下面的一些操作,并且所有其他文件都提醒相同..

<?php

class IndexController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
    $this->_helper->viewRenderer->setNoRender();
    }

    public function indexAction()
    {
        // action body
    $this->getResponse()->appendBody('hello from about Action');
    }

    public function aboutAction()
    {
    $this->getResponse()->appendBody('hello from about Action');
        // action body
    }


}


当我输入“http://localhost/index.php”时,它会显示indexAction()的正确信息;
当我输入“http:// localhost / index”时,它显示找不到页面
当我输入“http://localhost/index.php/about”时,
显示“消息:指定的无效控制器(约)” 请求参数:

阵列(   'controller'=&gt; '约',
  'action'=&gt; '索引',   'module'=&gt; '默认', )

我希望控制器能够成为索引和行动......我该如何解决...

我在apache配置中有这个。我想我可能有这个配置错误,但我不知道在哪里。

<VirtualHost *:80>
#DocumentRoot "/usr/local/zend/apache2/htdocs"
DocumentRoot /home/testuser/projects/helloworldproject/public
<Directory "/home/testuser/projects/helloworldproject/public/">
    SetEnv APPLICATION_ENV "development"
    Order allow,deny
    Allow from All
</Directory>
谢谢你的时间。

2 个答案:

答案 0 :(得分:1)

  • localhost/index.php应默认转到index控制器和index操作(index, index)
  • localhost/index也应该转到(index,index)
  • index.php/about我希望转到(about,index),即about控制器和index操作,但我可能错了(我没有测试过)。
  • 如果您想转到(index,about),请转到localhost/index/about

您似乎已正确定义了约动作public function aboutAction,因此应该正常运行。 如果您希望能够访问localhost / about或localhost / about / index,则需要像class AboutController extends Zend_Controller_Action那样定义一个与IndexController类似的控制器。

- 编辑 - 另外,请确保您的.htaccess看起来像这样:

DirectoryIndex index.php

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]

答案 1 :(得分:0)

我认为这正是错误信息所说的,即你需要一个你没有的about控制器。在网址http://localhost/index.php/about中,about将是您需要建立的完全独立的控制器。