thinkphp5.1 - twig模板-全局变量
我们在定义 ccs 之类的静态文件的时候,经常会使用
<link rel="stylesheet" href="__ROOT__/static/css/bootstrap.css" />
定义个__ROOT__变量,然后全局替换调

1、如果使用默认模板,那直接在
自定义变量要去 config里的template.php 设置 假设你要 __ROOT__,
'tpl_replace_string' => [
'__ROOT__'=>'/static',
]
这样就引到 public/static 目录了

2、但是如果要使用 twig 模板引擎就不行了,那 twig 怎么处理呢
twig本身提供了addGlobal函数处理全局变量,我们看thinkphp的扩展
twig 的Twig.php中有个配置
// 模板引擎参数
protected $config = [
'view_base' => '',
// 模板起始路径
'view_path' => '',
// 模板文件后缀
'view_suffix' => 'twig',
// 模板文件名分隔符
'view_depr' => '/',
'cache_path' => '',
'strict_variables' => true,
'auto_add_function' => false,
'functions' => [],
'filters' => [],
'globals' => [],
'runtime' => []
];

然后看代码发现:
if (!empty($this->config['globals'])) {
foreach ($this->config['globals'] as $name => $global) {
$twig->addGlobal($name, $global);
}
},

所以我们只需要配置这个字段就行了,我们不需要在Twig.php中配置,这里的配置会和
config/template.php目录中的配置合并,而且config/template.php的配置优先,所以我们只需要
在config/template.php中配置,类似于这样
'globals'=>[
'__STATIC__'=>'/static'
]
就可以了。
3、然后我们在模板文件中怎么使用呢?
<link rel="stylesheet" type="text/css" href="{{ __STATIC__ }}/navigation.css" />

thinkphp5.1 - twig模板-全局变量的更多相关文章

  1. twig模板的进一步学习以及在symfony当中的使用

    首先,twig可以理解为用于输出html代码的,虽然用PHP等其他语言也可以输出,但是twig更为简洁高效,同时twig模板被编译成原生的php类缓存起来,所以才会这么快, 其实twig跟php类差不 ...

  2. opencart 引入 TWIG 模板引擎

     1.首先将 twig 包放入 system\library 目录. 2.在 system/startup.php 文件最后添加引入语句. require_once(DIR_SYSTEM . 'lib ...

  3. symfony注册Twig模板中使用自定义PHP方法

    // 注:只是在此做下记录,有兴趣的可以参考,不做实际教程文档// 官方文档,https://symfony.com/doc/2.8/templating/twig_extension.html// ...

  4. 构建自己的PHP框架(Twig模板引擎)

    完整项目地址:https://github.com/Evai/Aier Twig 模板引擎 模版引擎 twig 的模板就是普通的文本文件,也不需要特别的扩展名,.html .htm .twig 都可以 ...

  5. thinkphp5.1 - twig使用

    thinkphp5.1 - twig使用1.安装按照:https://github.com/yunwuxin/think-twigTwig Template For ThinkPHP5 安装 comp ...

  6. SSTI(以Twig模板引擎为例)

    一.模板注入与常见Web注入 就注入类型的漏洞来说,常见 Web 注入有:SQL 注入,XSS 注入,XPATH 注入,XML 注入,代码注入,命令注入等等.注入漏洞的实质是服务端接受了用户的输入,未 ...

  7. 原生twig模板引擎详解(安装使用)

    最近在学习SSTI(服务器模板注入),所以在此总结一下 0x00 Twig的介绍 什么是Twig? Twig是一款灵活.快速.安全的PHP模板引擎. Twig的特点? 快速:Twig将模板编译为纯粹的 ...

  8. symfony2 twig模板引擎

    1.基本语法 Says something:{{    }} Does something:{%  %} Comment something:{#    #} {% extends "App ...

  9. yii2 使用twig 模板引擎

    yii2 默认使用PHP 和html 混合的方式来写视图层,但我个人还是喜欢纯模板语言的方式.而且已经非常习惯使用twig的语法,最近想使用yii2进行开发,所以还是选择使用twig视图引擎. git ...

随机推荐

  1. Filebeat和pipleline processor-不部署logstash,实现对数据的处理

    利用ingest node所提供的Pipeline帮我们对数据进行处理. 在Elasticsearch中的配置文件elasticsearch.yml文件中配置:node.ingest: true in ...

  2. SQL server已经设置为单用户模式,Sql server还原失败数据库正在使用,无法获得对数据库的独占访问权

    如果已经设置为单用户模式,还是报这个错误的话,就按照一下SQL执行就

  3. c# 如何获取当前方法的调用堆栈

    c# 调试程序时常常需要借助 call stack 查看调用堆栈,实际上通过code也可以获取: class Program { static void Main(string[] args) { T ...

  4. Java中的参数验证(非Spring版)

    1. Java中的参数验证(非Spring版) 1.1. 前言 为什么我总遇到这种非正常问题,我们知道很多时候我们的参数校验都是放在controller层的传入参数进行校验,我们常用的校验方式就是引入 ...

  5. 【初识Spring】对象(Bean)实例化及属性注入(xml方式)

    title: [初识Spring]对象(Bean)实例化及属性注入(xml方式) date: 2018-08-29 17:35:15 tags: [Java,Web,Spring] --- #初识S ...

  6. SPC软控件提供商NWA的产品在各行业的应用(包装行业)

    Northwest Analytical (NWA)是全球领先的“工业4.0”制造分析SPC软件控件提供商.产品(包含: NWA Quality Analyst , NWA Focus EMI 和 N ...

  7. PowerShell美化

    转载自Powershell 美化 --oh-my-posh,作者Zvonimir. PowerShell默认的主题太丑了,用过OhMyZsh之后是无法忍受这种丑陋的,幸好PowerShell有对应的O ...

  8. jar 冲突、class 冲突的检测脚本

    思路很简单,解开war包,解开 jar 包,发现有同名 package.class 就报出来,不管是否“兼容” .. import zipfile import io from collections ...

  9. Apache:系统找不到指定的文件: No installed ConfigArgs for the service "Apache2"

    解决方法: 将以下内容保存成FixApacheError.reg文件(其中红色粗体Apache2改成报错的系统服务名称,如"RTX_HTTPServer"),导入系统注册表 Fix ...

  10. Redis数据库详解

    NoSQL 若杀死进程应使用pkill 数据设计模式:分布式.非关系型.不提供ACID 特性:简单数据模型.源数据和应用数据分离.弱一致性 优势: 避免不必要的复杂性 高吞吐量, 高 水平扩展能力和低 ...