ThinkPHP6是目前比较流行的一个PHP框架,它提供了很多方便的特性以及工具,其中之一就是内置的模板引擎。本文将介绍如何在ThinkPHP6中使用模板引擎。 一、创建模板文件 首先,我们需
ThinkPHP6是目前比较流行的一个PHP框架,它提供了很多方便的特性以及工具,其中之一就是内置的模板引擎。本文将介绍如何在ThinkPHP6中使用模板引擎。
一、创建模板文件
首先,我们需要在项目中创建一个模板文件夹,路径为:/application/index/view/
,这个文件夹存放我们的模板文件。
接下来在模板文件夹中新建index.html文件,这个文件将作为我们的模板文件。
二、模板语法
ThinkPHP6使用了Twig模板引擎,并添加了自己的扩展功能。我们来学习它的基本使用方法。
- 输出变量
使用{{}}
语法来输出变量。例如:{{title}}
将输出变量$title的值。注意,变量名不需要使用$
符号。
- if语句
if语句使用{% if condition %} ... {% endif %}
语法。例如:
{% if isLogin %} <a href="#">退出登录</a> {% else %} <a href="#">登录</a> {% endif %}
- foreach语句
foreach语句使用{% for key, value in array %} ... {% endfor %}
语法。例如:
{% for article in articles %} <div class="article"> <h2>{{article.title}}</h2> <p>{{article.content}}</p> </div> {% endfor %}
- include语句
include语句可以引入其他模板文件,使用{% include "file.html" %}
语法。例如:
{% include "header.html" %} <div class="content"> ... </div> {% include "footer.html" %}
三、在控制器中使用模板
我们需要在控制器中将数据传递给模板引擎,然后再渲染模板。
在控制器中加载模板引擎并渲染模板的代码如下:
<?php namespace appindexcontroller; use thinkController; class Index extends Controller { public function index() { $this->assign('title', 'Welcome to my blog'); $this->assign('isLogin', true); $this->assign('articles', [ ['title' => 'article 1', 'content' => 'something'], ['title' => 'article 2', 'content' => 'something else'] ]); return $this->fetch('index'); } }
上面的代码中,assign
方法将数据传递给模板引擎。title
、isLogin
和articles
是我们在模板文件中使用的变量名。
fetch
方法用于渲染模板文件,它的参数是模板文件名,即index.html
。
四、结语