我需要制作 zend 2 网络应用,但其中包含零知识。
在我见过的所有教程 中,他们都在 module.config.php ,在 laravel 中,您需要设置的是视图的路径,您可以在控制器中设置要为该路径提供的文件。
那么如何将这个laravel代码转换为zend 2代码:
$ fileDirectory = isMobile()? " viewfiledirectory / viewfile_mobile" : " viewfiledirectory / viewfile&#34 ;;
返回View :: make($ fileDirectory);
或者如果它没有相应的zend 2,至少我怎么做到这一点,每个文件都在模板图中硬编码,我怎么能让控制器指向那条路线。 / p>
这是一个很大的网站,每个路线至少8页(根据语言设置只使用一个,并且取决于用户的设备),我可以&#39 ; t只列出 module.config.php 模板图中的所有文件,我希望它像我在laravel中所做的那样。
答案 0 :(得分:2)
在Zend Framework 2中,您将视图实现为模板文件,这是一个文件
有.phtml
扩展名(“phtml”代表PHP + HTML)。查看模板有这样的
一个名称,因为它们通常包含与使用的PHP代码片段混合的HTML代码
用于渲染网页。视图通常位于 view 子目录中
模块。
在控制器中,使用ViewModel
类将变量传递给视图模板。视图模型也可用于设置视图模板名称(请参阅下面的示例):
<?php
// IndexController.php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
class IndexController extends AbstractActionController {
// The "index" action
public function indexAction() {
// Pass two variables to view template
$viewModel = new ViewModel(array('var1'=>$var1, 'var2'=>$var2));
// Set view template name
$templateName= $this->isMobile() ? "index/viewfile_mobile" : "index/viewfile";
$viewModel->setTemplate($templateName);
// Return the view model
return $viewModel;
}
}
如果您需要在Zend Framework 2中对视图概念进行基本解释,我建议您阅读Using Zend Framework 2本书。