2013-05-08 100 views
0

我是新来的Zend框架,我已经安装了zend frameworkd 1.12。它似乎在运行查找,除了视图不读取操作控制器中指定的命令。Zend Framework 1.12 - 操作控制器不工作

我用两个控制器测试了一个是索引控制器,第二个是通过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 /测试1 /应用/视图/脚本/测试/ index.phtml

和控制器的输出:

- >>用于控制测试和脚本/动作名称索引视图脚本

它不会从回声加1个或任何字符串命令

任何人都可以告诉我为什么控制器操作不被视图读取?

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

问候的

+0

看来这个视图并没有读取任何操作控制器项目。任何想法为什么? – 2013-05-08 05:44:21

+0

你在Zend_Projects/test1/application/views/scripts/test/index.phtml中使用浏览器打开吗?这是我的朋友错了。使用Zend_Projects/test1/public/test/index或类似的东西... – 2013-05-08 05:58:14

+0

按照你的建议进行,它仍然不起作用。公共文件夹只有一个单一的index.php文件在那里,甚至当我复制索引“测试”文件它不起作用 – 2013-05-08 06:10:36

回答

0

根据对问题的评论

你不必复制anythin g php文件到公用文件夹除index.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文件,这是由应用程序完成的。浏览器总是通过重写URL来调用公用文件夹中的index.php。 index.php文件初始化zend应用程序并运行它。

1

如果你想输出从您的视图内采取行动的价值,你必须与传递:

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

你一个.phtml脚本中:

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

我试着按你的建议,它也不工作。我在.phtml文件中添加了一个简单的PHP代码,它会输出该代码,但如果我在显示时指定了php变量,或者在控制器中声明了echo语句,则根本不会读取它。感谢您的帮助。 – 2013-05-08 05:41:04

相关问题