0

我是 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/application/views/scripts/test/index.phtml

和控制器的输出:

-->> 查看控制器测试脚本和脚本/动作名称索引

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

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

请任何形式的帮助表示赞赏,如果这是一个愚蠢的问题,我提前道歉。

最好的问候

4

2 回答 2

0

如果您想在视图中从您的 Action 输出一个值,您必须通过以下方式传递它:

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

现在在您的 .phtml 脚本中:

<?php echo $this->mytext; ?> 
于 2013-05-08T05:27:14.840 回答
0

根据对问题的评论

您不必将任何 php 文件复制到公用文件夹,除了 index.php 还确保公用文件夹中存在 .htaccess 文件并且在 apache 中启用了 mod_rewrite。也就是说,如果你使用的是 apache(否则你应该使用你正在使用的服务器的 url 重写方法。)如果这一切对你来说都是希腊语,我假设你不知道希腊语,那么请参考http://framework.zend.com/手册/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 应用程序并运行它。

于 2013-05-08T06:33:18.903 回答