ZendFramework-2.4 源代码 - 关于MVC - View层 - 在模板内渲染子模板

<?php
// 方式一:
// 1.在模板内直接编写如下内容即可
$viewModel = new ViewModel();
$viewModel->setTemplate(‘album/album/subtemplate‘); // 使用模板,可以不用设置,会自动识别
$viewModel->setVariables($this->vars());
$viewModel->setVariable(‘var12subtpl‘, ‘var12subtpl_value‘);
echo $this->render($viewModel);

// 方式二:
// 1.在控制器的方法中编写如下内容
class Ctrl1Controller extends AbstractActionController
{
    public function action1Action(){
        // 模板
        $data = array(
            ‘key1‘ => ‘key1value‘,
        );
        $viewModelTop = new ViewModel($data);
        $viewModelTop->setTemplate(‘module1/ctrl1/action1‘); // 使用模板,可以不用设置,会自动识别
        $viewModelTop->setTerminal(false); // false表示使用布局模板,默认是false
        $viewModelTop->setCaptureTo(‘content‘); // 放入布局文件的中的变量中
        $viewModelTop->setVariables(array(
            ‘childrenStr‘=>‘‘
        ));

        // 子模板
        $viewModelSub = new ViewModel($data);
        $viewModelSub->setTemplate(‘module1/ctrl1/action1sub‘);
        $viewModelTop->addChild($viewModelSub,‘childrenStr‘,true);
        return $viewModelTop;
    }
}
?>
// 2.在控制器的方法模板中编写如下内容
// 文件module1/ctrl1/action1.phtml
<div>
hello,this is action tpl content,and the subtpl content is : <?php echo $childrenStr; ?>
</div>
时间: 2024-08-01 18:21:14

ZendFramework-2.4 源代码 - 关于MVC - View层 - 在模板内渲染子模板的相关文章

ZendFramework-2.4 源代码 - 关于MVC - View层 - 控制器返回值

<?php class ReturnController extends AbstractActionController { public function returnAction() { // 返回方式一 :会被dipatch处理器Zend\Mvc\View\Http\CreateViewModelListener::createViewModelFromArray(...)的拦截处理 return array('key1' => 'key1value'); // == new View

ZendFramework-2.4 源代码 - 关于MVC - View层 - 视图渲染器、视图插件管理器

<?php // 1. 视图渲染器 class PhpRenderer implements Renderer, TreeRendererInterface { /** * 插件管理器 */ public function getHelperPluginManager() { if (null === $this->__helpers) {// false $this->setHelperPluginManager(new HelperPluginManager()); } return

ZendFramework-2.4 源代码 - 关于MVC - Controller层

// 1.控制器管理器 class ServiceManager implements ServiceLocatorInterface { public function __construct(ConfigInterface $config = null) { if ($config) { $config->configureServiceManager($this); } } } abstract class AbstractPluginManager extends ServiceMana

ZendFramework-2.4 源代码 - 关于MVC - Model层

所谓的谓词Predicate // ------ 所谓的谓词 ------ // 条件 case.3 $where = new \Zend\Db\Sql\Where(); $expression = new \Zend\Db\Sql\Predicate\Expression("field1=? and field2=?",array('a','b')); $where->addPredicates($expression,\Zend\Db\Sql\Predicate\Predic

谈谈我对MVC的View层实现的理解

MVC框架可以把应用清晰明了地分为三个部分:Model层–数据层,View层–视图层,Controller–逻辑层,Model层负责整合数据,View层负责页面渲染,Controller层负责实现业务逻辑. 我在这里简单说一下我对MVC框架中的View层的理解. View层一般包含两个部分:View类和模版文件,View类并不是必需的,采用View类可以整合代码,因为有时候View层也会有一些复杂的逻辑和数据读取的操作,这些操作最好放在类(或者对象)中实现,如果直接在模版文件中实现,会让模版文件

5-小程序的view层

MVC模式这里就不讲了,不懂MVC模式的就自己去查阅相关资料.小程序的的view层由WXML与WXSS编写,由组件来进行展示.view层将逻辑层的数据反应成界面显示,同时将界面发生的事件发送给逻辑层. WXML(WeiXin Markup language)用于描述页面的结构,可以想象成Html文件. WXSS(WeiXin Style Sheet)用于描述页面的样式,可以想象成Css文件. 组件(Component)是视图的基本组成单元,可以想象成Html中的组件. 下面我们用简单的例子来看看

iOS应用架构谈 view层的组织和调用方案

前言 <iOS应用架构谈 开篇>出来之后,很多人来催我赶紧出第二篇.这一篇文章出得相当艰难,因为公司里的破事儿特别多,我自己又有点私事儿,以至于能用来写博客的时间不够充分. 现在好啦,第二篇出来了. 当我们开始设计View层的架构时,往往是这个App还没有开始开发,或者这个App已经发过几个版本了,然后此时需要做非常彻底的重构. 一般也就是这两种时机会去做View层架构,基于这个时机的特殊性,我们在这时候必须清楚认识到:View层的架构一旦实现或定型,在App发版后可修改的余地就已经非常之小了

iOS应用架构谈-part2 view层的组织和调用方案

前言 <iOS应用架构谈 开篇>出来之后,很多人来催我赶紧出第二篇.这一篇文章出得相当艰难,因为公司里的破事儿特别多,我自己又有点私事儿,以至于能用来写博客的时间不够充分. 现在好啦,第二篇出来了. 当我们开始设计View层的架构时,往往是这个App还没有开始开发,或者这个App已经发过几个版本了,然后此时需要做非常彻底的重构. 一般也就是这两种时机会去做View层架构,基于这个时机的特殊性,我们在这时候必须清楚认识到:View层的架构一旦实现或定型,在App发版后可修改的余地就已经非常之小了

iOS应用架构谈(二):View层的组织和调用方案(上) 作者 田伟宇 发布于 2015年5月25日

iOS客户端应用架构看似简单,但实际上要考虑的事情不少.本文作者将以系列文章的形式来回答iOS应用架构中的种种问题,本文是其中的第二篇,主要讲View层的组织和调用方案.上篇主要讲View层的代码结构.布局,以及一些最佳实践的讨论. 当我们开始设计View层的架构时,往往是这个App还没有开始开发,或者这个App已经发过几个版本了,然后此时需要做非常彻底的重构. 一般也就是这两种时机会去做View层架构,基于这个时机的特殊性,我们在必须清楚认识到:View层的架构一旦实现或定型,在App发版后可