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
相关文章
|
13天前
|
缓存 安全 PHP
【PHP开发专栏】Twig模板引擎在PHP中的应用
【4月更文挑战第30天】Twig是Fabien Potencier开发的PHP模板引擎,以其易读性、可扩展性、安全性和高性能著称。文章分三部分介绍:1) 通过Composer安装Twig;2) 学习基本语法,如变量、表达式、标签和过滤器;3) 在Symfony和Laravel框架及独立PHP项目中应用Twig。示例展示了如何渲染模板、使用for和if标签,以及在不同框架中整合Twig。
|
6月前
|
前端开发 JavaScript Java
前端最常用的模板引擎-Handlebars
前端最常用的模板引擎-Handlebars
58 0
|
JavaScript PHP Python
PHP:使用rcrowe/twigbridge在Laravel中使用Twig模板引擎
PHP:使用rcrowe/twigbridge在Laravel中使用Twig模板引擎
70 0
|
PHP Python
express使用twig做模板引擎
express使用twig做模板引擎
66 0
|
前端开发 PHP 数据库
浅谈smarty MVC框架
这次又是项目开发遇到的问题,做一个简单的表单处理,将数据写入数据库,流程很简单,由于客户不了解php框架导致我开发用了原生php,当我交付的时候对方说需要使用mvc方式且需要使用smarty框架,这里做一下踩坑总结(由于博主并不是很熟悉这个框架,今天的分享只用于探讨和记录,若有叙述不正确的,欢迎指正)
浅谈smarty MVC框架
ThinkPHP6.0使用twig作为模板引擎及自定义过滤器
ThinkPHP6.0使用twig作为模板引擎及自定义过滤器
136 0
PHP:ThinkPHP使用Twig渲染html
PHP:ThinkPHP使用Twig渲染html
131 0
symfony框架Twig模板语言的使用
symfony框架Twig模板语言的使用
118 0
symfony框架Twig模板语言的使用
|
开发框架 自然语言处理 安全
第21天:Web开发 Jinja2模板引擎
第21天:Web开发 Jinja2模板引擎
181 0
第21天:Web开发 Jinja2模板引擎
|
缓存 NoSQL PHP
Laravel中Redis的配置和使用
Laravel中Redis的配置和使用
489 0
Laravel中Redis的配置和使用