初次使用zend framework,如何使用多个controllers

来源:互联网 发布:保定淘宝托管代运营 编辑:程序博客网 时间:2024/05/17 21:54

    最近刚开始研究zend framework。开发一个项目,当然首先要知道怎么去设置它的目录关系。我使用的是zf1.8, 有个批处理命令可以生成默认的目录结构。

   默认的是public为运行根目录,其它模块放在此目录的上级目录。这样用起来有时不太方便,需要把它们放在同一目录下。可以将index.php和.htaccess拷贝到上级根目录,再在index.php中将/../application改为/application就可以了。

   网上很多例子都讲的很清楚如何创建第一个IndexController.php,相信很多人很容易就会了,此方式可以通过http://localhost、http://localhost/index、http://localhost/index/index/add等方式访问。但很少有说http://localhost/test的。

    当然这种方式也和index一样,只是我在测试时遇到让人郁闷的问题。好像很多人都比较高傲,不喜欢给我们这种新手讲解,憋了一肚子气,还是自己研究好。

   还是先讲http://localhost/test。也许很多人一次就搞好了,但我花了几天没搞明白。做法同index。先把IndexController.php拷贝一份命名为TestController.php,然后打开把类名IndexController改为TestController,这样这个类就做完了,它的默认Action也是indexAction()。再进入application/views/scripts目录,把index目录拷贝一份,改名为test。这是test的模块文件。同样,默认的页面也是index.phtml。这时,从http://localhost/test就可以正常访问了。

   当然,我遇到的困难不是在这里。我在index.php的目录下建了个文件test.php。测试时,我怕出问题,改为为test.php_。这是访问是一直在报The requested URL /test was not found on thisserver.的错。直到我建了个新controller,我才发现是这个文件的问题。开始时,我还一直以为是.htaccess里重写配置的问题。直到我把这个文件直接删除,访问才能正常。

    希望那些找不到此类问题所在的朋友能有所帮助。

原创粉丝点击