Php 如何在zend 2中像laravel一样返回视图

Php 如何在zend 2中像laravel一样返回视图,php,zend-framework2,zend-framework-mvc,zend-framework-routing,Php,Zend Framework2,Zend Framework Mvc,Zend Framework Routing,我需要做一个zend 2网络应用程序,但没有任何知识 在我看过的所有教程中,它们都在module.config.php中设置视图的文件名,在laravel中,您需要设置的只是视图的路由,您可以在控制器中设置给该路由的文件名 那么如何将此laravel代码转换为zend 2代码: $fileDirectory=isMobile()?“viewfiledirectory/viewfile_mobile”: “viewfiledirectory/viewfile” 返回视图::make($fileDi

我需要做一个zend 2网络应用程序,但没有任何知识

在我看过的所有教程中,它们都在module.config.php中设置视图的文件名,在laravel中,您需要设置的只是视图的路由,您可以在控制器中设置给该路由的文件名

那么如何将此laravel代码转换为zend 2代码:

$fileDirectory=isMobile()?“viewfiledirectory/viewfile_mobile”: “viewfiledirectory/viewfile”

返回视图::make($fileDirectory)

或者,如果没有zend 2的等价物,至少我该怎么做,每个文件都是在模板映射中硬编码的,我该如何使控制器指向该路由


这是一个很大的网站,每条路线至少有8页(根据语言设置和用户设备,只使用一页),我不能只列出module.config.php模板映射中的所有文件,我希望它像我在laravel中做的那样。

在Zend Framework 2中,您将视图实现为模板文件,哪个是文件 具有
.phtml
扩展(“phtml”代表PHP+HTML)。视图模板具有这样的特性 名称,因为它们通常包含混合使用的PHP代码片段的HTML代码 用于呈现网页。视图通常位于视图子目录内 这是模块的一部分

在控制器中,使用
ViewModel
类将变量传递给视图模板。视图模型还可用于设置视图样板名称(请参见下面的示例):


太棒了!这是假设“index/viewfile”在视图文件夹中,对吗?作为旁注,在处理移动网站时,可能会假设我们也有完整的移动
布局。phtml
。这种方法在那里不会有太大帮助。有关如何更改引导上的布局以及如何将其与您的mobileChecker一起使用的信息,请参阅
<?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;
  }  
}