当前位置:

首页 > 编程开发 > Linux下ThinkPHP模板引擎使用教程

Linux下ThinkPHP模板引擎使用教程

在Linux中使用ThinkPHP模板引擎,需PHP7.4+、Composer及ThinkPHP6.x。模板文件存于/application/模块名/view/,控制器用assign()传数据,fetch()渲染输出。

Linux下ThinkPHP模板引擎使用教程

在Linux环境下使用ThinkPHP模板引擎,其实比大多数人想象的要简单。只要基础环境搭好,配合正确的目录结构和控制器渲染方式,很快就能上手。下面就从环境准备开始,一步步梳理整个流程。

一、基础准备

1. 环境要求

首先得确保Linux系统上已经装好了PHP 7.4或更高版本、Composer以及ThinkPHP框架(推荐6.x版本,兼容性更好,功能也更完善)。可以用下面两条命令快速验证环境是否就绪:

Linux下ThinkPHP模板引擎使用教程

php -v
composer -V

2. 目录结构

模板文件默认放在 /application/[模块名]/view/ 目录下,比如 /application/index/view/。建议按模块划分视图文件夹,这样结构更清晰。举个例子:

/application/index/view/home/index.html  # 首页模板
/user/profile.html  # 用户资料模板

3. 控制器渲染基础

控制器中通过 assign() 方法传递数据,再用 fetch() 方法渲染模板。比如在 /application/index/controller/Index.php 里这样写:

assign('title', 'Linux下ThinkPHP模板使用教程');
        // 传递数组数据
        $data = [
            'content' => '本教程将指导你在Linux环境下使用ThinkPHP模板引擎',
            'version' => 'ThinkPHP 6.x'
        ];
        $this->assign($data);
        // 渲染模板(默认查找 /application/index/view/index/index.html)
        return $this->fetch();
    }
}

注:fetch() 方法的参数是模板文件路径(省略模块名和后缀),框架会自动定位到对应的目录。

二、模板语法详解

ThinkPHP 6.x 默认使用 Twig 模板引擎(扩展了原生标签),语法更灵活,也更易读。下面梳理一下最常用到的几种语法。

1. 变量输出

用 {{ }} 包裹变量名,注意不需要加 $ 符号。像下面这样:




{{ title }}  


{{ content }}

框架版本:{{ version }}

2. 流程控制

if 条件判断

{% if isLogin %}
退出登录
{% else %}
登录
{% endif %}

foreach 循环

    {% for article in articles %}
  • {{ article.title }}

    {{ article.content }}

  • {% endfor %}

注:articles 是控制器传递的数组,比如 $this->assign('articles', $articleList)。

3. 模板继承

通过 {extend} 继承父模板,再用 {block} 重写子模板的内容。这种机制非常适合做网站统一布局,复用头部、底部等公共部分。

父模板(/application/index/view/layout/base.html)




{% block title %}默认标题{% endblock %}


网站LOGO

{% block content %}{% endblock %}

子模板(/application/index/view/home/index.html)

{extend name="layout/base"}  

{% block title %}首页 - {{ title }}{% endblock %}  

{% block content %}

欢迎来到首页

{{ content }}

{% include "home/header.html" %}
    {% for article in articles %}
  • {{ article.title }}
  • {% endfor %}
{% include "home/footer.html" %} {% endblock %}

4. 内置函数与过滤器

调用 PHP 函数

在 {{ }} 里可以直接调用 PHP 函数,比如格式化时间:

当前时间:{{ "now"|date("Y-m-d H:i:s") }}

注:date 是 PHP 内置函数,"now" 是时间标识符。

过滤器(Escape)

用 | 符号应用过滤器,比如转义 HTML 防止 XSS 攻击:

用户名:{{ username|htmlspecialchars }}

常用过滤器:upper(转大写)、lower(转小写)、default(默认值,如 {{ name|default('游客') }})。

三、常用功能实践

1. 模板缓存

开启模板缓存可以有效提升性能,在 config/view.php 里配置:

return [
    'cache' => true,        // 开启缓存
    'cache_time' => 3600,  // 缓存时间(秒)
    'tpl_cache' => true,   // 模板缓存开关
];

需要清除缓存时,可以直接通过命令行:

php think clear  # 清除所有缓存(包括模板缓存)

或者在代码中手动清除:

use think\facade\Cache;
Cache::clear();  // 清除模板缓存

2. 自定义模板标签

如果觉得内置标签不够用,可以通过继承 think\Template 类来扩展。比如创建一个 /application/common.php 文件,自定义一个日期格式化标签:

然后模板里就能这样用:

创建时间:{{ {'timestamp': item.create_time}|formatDate }}

3. 包含子模板

用 {% include %} 引入公共模板,比如头部和尾部,能避免重复代码:


{% include "common/header.html" %}


{{ content }}
{% include "common/footer.html" %}

注:子模板路径是相对于当前模块的 view 目录。

四、注意事项

  1. 权限问题:Linux 下务必确保 /application/view/ 目录有读写权限,推荐 chmod -R 755 /application/view/。
  2. 路径规范:模板文件的路径需要和控制器模块、控制器名、方法名对应起来。比如 Index 控制器的 index 方法,默认对应 /application/index/view/index/index.html。
  3. 调试技巧:在 config/app.php 中把 'app_debug' => true 打开,就能看到详细的模板渲染错误信息,排查问题非常方便。
  4. 性能优化:生产环境下记得关闭调试模式('app_debug' => false),同时开启模板缓存,页面加载速度会有明显提升。

掌握这些要点之后,你在 Linux 环境下就能比较顺畅地使用 ThinkPHP 模板引擎了。业务逻辑和视图层分离得越彻底,后续维护和扩展就越省力。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发 Linux
相关文章 更多
linux删除用户与用户组的方法及命令教程
linux删除用户与用户组的方法及命令教程

掌握Linux中删除用户和用户组的正确方法,避免残留文件和进程冲突。本文深入解析userdel和groupdel命令的参数用法,提供处理“用户仍在使用”等常见错误的实战方案。

Linux如何开启端口号?开放端口命令详解
Linux如何开启端口号?开放端口命令详解

详细讲解Linux如何开启端口号以及常用的开放端口命令。

crossover卸载软件下载及重新安装教程
crossover卸载软件下载及重新安装教程

遇到CrossOver运行错误或需要更新版本时,如何彻底卸载旧版并干净重装?本教程详解macOS和Linux下的卸载步骤、残留文件清理方法及官方下载渠道,确保软件环境纯净稳定。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
IntelliJ IDEA macOS版
IntelliJ IDEA macOS版
Mac

IntelliJ IDEA 是 JetBrains 推出的专业集成开发环境,重点服务于 Java、Kotlin 与 JVM 项目开发。软件集成代码补全、静态检查、重构、调试、测试、版本控制及构建工具,并可借助插件扩展语言和框架支持。

PyCharm macOS版
PyCharm macOS版
Mac

JetBrains PyCharm 是面向 Python 开发者的集成开发环境,提供智能补全、代码检查、重构、调试、测试、版本控制及虚拟环境管理功能。Mac 版兼容 Intel 与 Apple 芯片,核心功能可免费使用。

WebStorm macOS版
WebStorm macOS版
Mac

JetBrains WebStorm 是面向 JavaScript、TypeScript 和现代 Web 技术的专业集成开发环境,可智能理解项目结构,提供代码补全、重构、错误检查、运行调试、测试及 Git 工具。

WINDOWS 更多
IntelliJ IDEA Windows版
IntelliJ IDEA Windows版
Windows

JetBrains IntelliJ IDEA 是以 Java、Kotlin 和 JVM 项目为核心的专业集成开发环境,提供智能补全、代码检查、安全重构、调试、测试、版本控制及构建工具集成。统一发行版的核心功能可免费用于商业和非商业项目,

PhpStorm Windows版
PhpStorm Windows版
Windows

PhpStorm 是 JetBrains 面向 PHP 与现代 Web 开发打造的专业集成开发环境,提供代码补全、静态检查、重构、调试、测试、数据库、版本控制及前端语言支持。Windows 用户可直接下载安装程序,

PyCharm Windows版
PyCharm Windows版
Windows

PyCharm 是 JetBrains 推出的 Python 集成开发环境,提供智能代码补全、错误检查、重构、调试、测试、Git、终端及 Jupyter Notebook 支持。统一版安装后可体验 30 天 Pro 功能,