在 Zend Framework2 中添加新的 view/phtml 文件

Adding new view/phtml file in Zend Framework2

我想在我的索引文件夹中添加一个新的 phtml 文件,其中我已经有多个视图:

index
landing

等等...我使用以下逻辑访问它们:

sitename.com/index/landing 

sitename.com/index/index 

如何将 phtml 文件(我的新视图)添加到我的索引文件夹中,以便我在浏览器中输入时能够看到它:

sitename.com/index/mynewview

我对整个 Zend Framework 还很陌生,我不确定这个结构究竟是如何工作的,所以我想了解更多。你们能帮我解决这个问题吗,我应该怎么做?

非常感谢! :)

P.S。这些视图位于以下目录结构中:

module/application/view/application/index/ 

然后这里是所有视图,这是我想添加新视图并从浏览器访问它的地方,如下所示:

/index/testview

编辑:

当我将 testview.phtml 添加到索引目录并在其中放入一些测试标签时:

<h1> Testing new view page </h1>

它没有在浏览器上呈现

因为这是一个 MVC 框架,所以您将跳过几个步骤。你可能会得到一些严厉的回应,但我会尽快为你填补漏洞。

暂时忽略文件夹结构。

这是一条路线:

/index/landing 

路由指向 Controllers 内部的 Actions 以工作。

假设您已经开始使用骨架,打开模块的 module.config.php,您应该会看到路由配置,例如: https://github.com/zendframework/ZendSkeletonApplication/blob/master/module/Application/config/module.config.php#L29

您需要为要提供服务的路由添加配置条目。它可以像 /index/landing 的 Literal 条目一样简单,也可以是处理路由模式的更复杂的东西(Segments、Regex 等)。花一些时间在这里修补和学习;路由对于使用 MVC 非常重要。

配置路由时,假设你设置了一个Controller,并且这个Controller有一个Action(你的路由指向的)。该操作是您可以将模板文件(phtml、twig 等)连接到路由的地方:

// dummy action that serves index/testview
public function fooAction(){
    $vm = new Zend\View\Model\ViewModel();
    $vm->setTemplate('index/testview');
    return $vm;
}

那个 index/testview 将在您模块的视图模板中,而不是在您的 public 文件夹中。

我认为这是一本合理的入门书,可以帮助您上路!

花点时间学习: http://zf2.readthedocs.io/en/latest/index.html#userguide

也许从这里开始: http://zf2.readthedocs.io/en/latest/in-depth-guide/understanding-routing.html

ZF2(V3来了!)是个好东西,值得。

祝你好运。