ThinkPHP6.0使用twig作为模板引擎

简介: ThinkPHP6.0使用twig作为模板引擎

ThinkPHP自带的模板引擎用起来很不顺手,好在找到了一个和Jinja2很类似的一个一个模板引擎Twig,可以集成到ThinkPHP中。


文档:

https://github.com/yunwuxin/think-twig


安装

composer require yunwuxin/think-twig

修改配置config/view.php

<?php
return [
    // 模板引擎类型使用Think
    // 'type'          => 'Think',
    'type'          => 'Twig',
    // 模板后缀(可以不修改,建议修改,IDE中有语法高亮提示)
    // 'view_suffix'   => 'html',
    'view_suffix'   => 'twig',  
  // 自定义过滤器
    'filters'       => config('twig_filters')
  // 其他配置项省略
];

自定义过滤器 config/twig_filters.php

<?php
// +----------------------------------------------------------------------
// | 自定义twig模板过滤器
// +----------------------------------------------------------------------
return [
    // 处理静态文件url
    "make_static_url" => function ($url) {
        // 静态文件路径,处理开发、生产环境
        $static_url = config('app.static_url');
        // 应用版本配置, 处理静态文件缓存问题
        $app_version = config('version.app_version');
        return "$static_url$url?t=$app_version";
    }
];

模板中使用自定义过滤器

<link href="{{ '/css/index.css' | make_static_url }}" rel="stylesheet
相关文章
|
开发者
这款酷似飞书文档的工具开源了,支持私有部署!!!
这个酷似飞书文档的工具真的非常好用,体验和飞书差不多,同样支持 Markdown 语法,经常使用 Markdown 写文档的同学一定要试试了,相信你一定会喜欢上它,这个工具是我用差不多20天左右的时间开发的,而且它的前后端项目现在都已经开源了,如果你能帮我推广那我更是感激不尽。所以,如果你想有一个可以私有部署的文档工具,而且体验还特别棒的的,那就快来试试这个吧,相信它不会让你失望的。
2137 0
|
网络协议 Shell 应用服务中间件
acme.sh使用教程
安装 安装 acme.sh安装很简单, 一个命令: curl https://get.acme.sh | sh普通用户和 root 用户都可以安装使用。 会安装在 ~/.acme.sh/ 目录下,以后生成的证书也会在这里面,按照域名为文件夹安置。
16548 2
|
移动开发 小程序 测试技术
自定义多级联动选择器指南(uni-app)
在本文中,探讨了如何在uni-app中创建自定义多级联动选择器组件。这个组件具有强大的多端支持,可适用于H5、APP、微信小程序、支付宝小程序等多种平台。
1158 1
自定义多级联动选择器指南(uni-app)
mybatis-plus从3.1升级到3.4.2
mybatis-plus从3.1升级到3.4.2
435 0
|
关系型数据库 MySQL Linux
Mac 数据库模型建模工具PDMan(PowerDesigner替代品)
Mac 数据库模型建模工具PDMan(PowerDesigner替代品)
2416 1
|
JavaScript
jQuery fullpage.js 全屏分页以及动画使用
jQuery fullpage.js 全屏分页以及动画使用
171 0
ThinkPHP6.0使用twig作为模板引擎及自定义过滤器
ThinkPHP6.0使用twig作为模板引擎及自定义过滤器
303 0
|
IDE 程序员 PHP
PhpStorm 中如何配置 SVN,详细操作方法
PhpStorm 中如何配置 SVN,详细操作方法
|
中间件 Go 微服务
字节微服务HTTP框架Hertz使用与源码分析|拥抱开源
Hertz是一个 Golang 微服务 HTTP 框架,在设计之初参考了其他开源框架 fasthttp、gin、echo 的优势, 并结合字节跳动内部的需求,使其具有高易用性、高性能等特点。
716 0
字节微服务HTTP框架Hertz使用与源码分析|拥抱开源
|
小程序 数据挖掘 开发工具
【微信小程序开发小白零基础入门】微信小程序入门【建议收藏】
微信小程序入门前言一、小程序的概述1.小程序简介2.小程序诞生3.小程序功能4.小程序创建步骤二、小程序的准备工作1.注册开发者账号2.小程序信息完善3.成员管理三、小程序的开发工具3.其他辅助工具四、推荐小程序(欢迎各位大佬指导)前言随着科技的不断进步,很多功能将会开放,那么很多需求也将会因为现实而得到满足,这是一种不需要下载和安装就可以使用的应用软件。用户只需扫描和搜索就可以打开应用程序。它很容易使用,而且很容易实现。小程序带来了巨大的流量,吸引了很多大的人和企业家前来追踪,也显示出它强大的生命力。小程序是下一个被确定为互联网新品种的程序,信已经成为不可缺少的的交流工具,小程序依附于微信,
【微信小程序开发小白零基础入门】微信小程序入门【建议收藏】