这不能在Twig中完成,如模板的编译源中所示,每个包含的templats都有自己的私有范围,因为上下文数组是基于值而不是引用

$this-> loadTemplate(“bar.twig”,“main.twig”,2) – > display($context);

然后在包含的模板中调用doDisplay

protected function doDisplay(array $context,array $blocks = array())

注意

你可以通过创建自己的Twig_Environment和Twig_Template来改变这种行为,但是快速浏览一下我会发现你需要覆盖一些功能.

main.twig

{% set foo = 'bar' %}

{% include 'bar.twig' %}

Foo in foo: {{ foo }}

bar.twig

{% set foo = 'foo' %}

Foo in bar: {{ foo }}

来源main.twig

/* main.twig */

class __TwigTemplate_4ba23e628289532331bb5889dca1a4ec57774924d21a760ca6fe6f575a3978b5 extends Twig_Template

{

public function __construct(Twig_Environment $env)

{

parent::__construct($env);

$this->parent = false;

$this->blocks = array(

);

}

protected function doDisplay(array $context, array $blocks = array())

{

// line 1

$context["foo"] = "bar";

// line 2

$this->loadTemplate("bar.twig", "main.twig", 2)->display($context);

// line 3

echo "

Foo in foo: ";

// line 4

echo twig_escape_filter($this->env, ($context["foo"] ?? null), "html", null, true);

}

public function getTemplateName()

{

return "main.twig";

}

public function isTraitable()

{

return false;

}

public function getDebugInfo()

{

return array ( 26 => 4, 23 => 3, 21 => 2, 19 => 1,);

}

public function getSourceContext()

{

return new Twig_Source("", "main.twig", "/fuz/twigfiddle.com/files/environment/k85WDdymIFgSoXLc/twig/main.twig");

}

}

来源bar.twig

/* bar.twig */

class __TwigTemplate_16789decfbb837d4631acf2e648380c0658722c50a0b53184b3f3c5f68f9b0ae extends Twig_Template

{

public function __construct(Twig_Environment $env)

{

parent::__construct($env);

$this->parent = false;

$this->blocks = array(

);

}

protected function doDisplay(array $context, array $blocks = array())

{

// line 1

$context["foo"] = "foo";

// line 2

echo "Foo in bar: ";

echo twig_escape_filter($this->env, ($context["foo"] ?? null), "html", null, true);

}

public function getTemplateName()

{

return "bar.twig";

}

public function isTraitable()

{

return false;

}

public function getDebugInfo()

{

return array ( 21 => 2, 19 => 1,);

}

public function getSourceContext()

{

return new Twig_Source("", "bar.twig", "/fuz/twigfiddle.com/files/environment/k85WDdymIFgSoXLc/twig/bar.twig");

}

}

php模板中的数组在哪,php – Twig:从包含的模板中添加项目到数组相关推荐

  1. .NET中添加控件数组

    作者:cuike519的专栏   http://blog.csdn.net/cuike519/ 添加控件数组 在.NET里面我好像没有找到有关于控件数组的说明,但是前两天偶在网上看到了一篇关于如何在. ...

  2. .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(二)

    引言 随着CPU多核的普及,编程时充分利用这个特性越显重要.上篇首先用传统的嵌套循环进行数组填充,然后用.NET 4.0中的System.Threading.Tasks提供的Parallel Clas ...

  3. .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(一)

    引言 随着CPU多核的普及,编程时充分利用这个特性越显重要.本文首先用传统的嵌套循环进行数组填充,然后用.NET 4.0中的System.Threading.Tasks提供的Parallel Clas ...

  4. es6 取数组的第一个和最后一个_ES6:解构——JavaScript 从数组和对象中提取数据的优雅方法...

    转载请注明出处,保留原文链接以及作者信息 ES6 有很多新特性,它很大程度上提升了 JavaScript 的编程体验,并且也告诉外界,JavaScript 依旧强势. 其中一个新特性是其对数组和对象的 ...

  5. vba 数组赋值_VBA数组与字典解决方案第18讲:VBA中静态数组的定义及创建

    大家好,我们今日继续讲解VBA数组与字典解决方案,今日讲解第18讲:VBA数组如何定义,又该如何创建呢? 从这一讲开始,我们开始进入VBA数组阶段,VBA数组和工作表数组有着不同的意义,在很大程度上, ...

  6. java怎么把数据封进对象里_(Java)想把数组中一条一条的数据全部放入对象中去..要怎么做呢...

    展开全部 Java把数组中一条一条的数据全部放入对象中去操作如下: 1.先获取到数组中的数据dataArray数据. 2.接32313133353236313431303231363533e58685 ...

  7. c语言变量作为数组长度,为什么在C中不允许将数组的大小作为常量变量但在C中允许?...

    在C const中,并不意味着"常量"(即,在编译时可评估).它只是意味着只读. 例如,在一个函数中,这个: const int r = rand(); const time_t ...

  8. java中怎么表示数组中的某个值_简易Java(12):如何高效检查一个数组中是否包含某个值?...

    如何检查一个数组(未排序)中是否包含某个特定的值?在Java中,这是一个非常有用并又很常用的操作.同时,在StackOverflow中,有时一个得票非常高的问题.在得票比较高的几个回答中,时间复杂度差 ...

  9. js数组再倒数第二个添加元素_归纳JS中数组的使用(一)元素新增和删除

    新增元素 js中给数组新增元素主要通过2个方法 push 和 unshift Array.prototype.push 功能概述 push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长 ...

最新文章

  1. CentOS 7 中 Systemd详解
  2. 键盘回车事件导致页面刷新的问题
  3. linux下的ping脚本,Linux下检测服务器Ping值的Shell脚本
  4. CCIE实验之路由重分布之重分布的原则
  5. Spring Boot使用@Async实现异步调用:自定义线程池
  6. 数据结构--二叉树(1)
  7. iis php 访问乱码,如何解决php加密 乱码问题
  8. 2019信安国赛逆向easyGo,bbvvmm题解
  9. Linux下载源码编译出错,linux下fortran中编译代码时“undefined reference to `_gfortran_st_”错误...
  10. c语言程序设计--图书管理系统
  11. 零基础如何优雅入门“网红”Python?小白必看的MicroPython视频合集:从入门到精通!...
  12. 【转载】浅谈嵌入式MCU开发中的三个常见误区
  13. 【离散数学】集合论 第三章 集合与关系(8) 关系的闭包运算
  14. 《现代操作系统教程》课程课后习题及答案
  15. 生意参谋指数转化算法(2021最新)
  16. cocos之Gif图
  17. 重复测量资料纵向研究的数据分析-1
  18. office转换为还原度高的html,使用Aspose把office文件转换为Html文件及生成文件浏览乱码的解决...
  19. 计算机信息安全技术分为两个层次,李某将玉佩以合理价格转让给善意第三人朱某时,下列说法正确的是?()。...
  20. python做地图热力图保存为png_Python如何实现热力图?可视化入库图实战演示

热门文章

  1. 滴滴司机被醉酒乘客殴打 官方回应来了...
  2. 吓坏了!智能锁半夜自己“离奇打开”
  3. 贝佐斯首次展示月球着陆器 蓝色起源2024年载人登月
  4. 新iPhone模具曝光:刘海屏无变化 后置三摄排布辣眼
  5. 故宫开通首个5G基站 首个5G高校在上海建成启用...
  6. 又出问题 三星Galaxy S10被曝意外触摸保护功能无效
  7. 借助拳王虚拟项目公社,自动发货系统,卖虚拟教程产品,实现全自动化赚钱的秘密
  8. 5G手机还没普及 LG电子就已着手研发6G
  9. 拳王虚拟项目公社:网上做什么兼职副业比较容易挣到钱?虚拟资源项目是赚钱的最佳选择
  10. 嵌入式Linux入门3:Linux服务器搭建