Zend Framework 1.12 - Action Controller无法正常工作

时间:2013-05-08 05:23:14

标签: php zend-framework

我是Zend框架的新手,我已经安装了zend frameworkd 1.12。它似乎正在运行find,除了视图没有读取动作控制器中指定的命令。

我用两个控制器测试了这个,一个是索引控制器,第二个是通过zf命令创建的控制器。这是代码。

<?php

class TestController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
        //echo "Please read this";
    }

    public function indexAction()
    {
        echo 1;
    }

}

这是该控制器视图的链接(只是为了确保不是问题)

Zend_Projects / TEST1 /应用/视图/脚本/测试/ index.phtml

和控制器的输出:

- &GT;&GT;查看控制器测试和脚本/操作名称索引的脚本

它不会添加echo命令中的1或任何字符串

有谁能告诉我为什么视图不能读取控制器动作?

如果有的话,请提供任何形式的帮助,我提前道歉 一个愚蠢的问题。

最好的问候

2 个答案:

答案 0 :(得分:1)

如果要在视图中输出Action的值,则必须使用以下命令传递:

public function indexAction()
{
   $this->view->mytext = 'Test';
}

现在在.phtml脚本中:

<?php echo $this->mytext; ?> 

答案 1 :(得分:0)

根据对问题的评论

除了index.php之外,你不必将任何php文件复制到公共文件夹,也要确保公共文件夹中存在.htaccess文件,并在apache中启用mod_rewrite。也就是说,如果你使用的是apache(否则你应该使用你正在使用的服务器的url重写方法。)如果这听起来对你来说都是希腊语,我假设你不知道希腊语,那么请参考http://framework.zend.com/manual/1.12/en/zend.controller.router.html

如果所有这些都已经完成,那么路由器可能存在问题。参考http://framework.zend.com/manual/1.12/en/project-structure.rewrite.html

关键是你不要在浏览器中调用实际的phtml文件,这是由应用程序完成的。浏览器总是在公共文件夹中调用index.php,这是通过重写URL来完成的。 index.php文件初始化zend应用程序并运行它。