我是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或任何字符串
有谁能告诉我为什么视图不能读取控制器动作?
如果有的话,请提供任何形式的帮助,我提前道歉 一个愚蠢的问题。
最好的问候
答案 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应用程序并运行它。