标签:
在 PHP 中使用模板引擎打印数据是一种常见的做法,可以使代码更清晰、结构更分明。常见的 PHP 模板引擎有 Smarty、Twig、Blade(Laravel 的模板引擎)等。以下是一些常见模板引擎的基本使用方法:
1. 使用 Twig 模板引擎
安装 Twig
你可以通过 Composer 安装 Twig:
composer require "twig/twig:^3.0"
Bash
创建模板和数据文件
index.php:
<?php
require_once 'vendor/autoload.php';
// 创建 Twig 环境
$loader = new \Twig\Loader\FilesystemLoader('templates');
$twig = new \Twig\Environment($loader);
// 模拟数据
$data = [
'name' => '张三',
'age' => 28,
'city' => '北京'
];
// 渲染模板
echo $twig->render('user.html.twig', ['user' => $data]);
PHP
templates/user.html.twig:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>用户信息</title>
</head>
<body>
<h1>用户信息</h1>
<p>姓名: {{ user.name }}</p>
<p>年龄: {{ user.age }}</p>
<p>城市: {{ user.city }}</p>
</body>
</html>
HTML
2. 使用 Smarty 模板引擎
安装 Smarty
通过 Composer 安装 Smarty:
composer require "smarty/smarty"
Bash
创建模板和数据文件
index.php:
<?php
require_once 'vendor/autoload.php';
// 创建 Smarty 实例
$smarty = new Smarty();
// 模拟数据
$data = [
'name' => '李四',
'age' => 30,
'city' => '上海'
];
// 将数据分配给模板
$smarty->assign('user', $data);
// 显示模板
$smarty->display('user.tpl');
PHP
templates/user.tpl:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>用户信息</title>
</head>
<body>
<h1>用户信息</h1>
<p>姓名: {$user.name}</p>
<p>年龄: {$user.age}</p>
<p>城市: {$user.city}</p>
</body>
</html>
HTML
3. 使用 Laravel Blade 模板引擎
如果你使用 Laravel 框架,Blade 是内置的模板引擎。
创建路由和视图
web.php(路由文件):
use Illuminate\Support\Facades\Route;
Route::get('/user', function () {
$user = [
'name' => '王五',
'age' => 25,
'city' => '广州'
];
return view('user', compact('user'));
});
PHP
resources/views/user.blade.php:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>用户信息</title>
</head>
<body>
<h1>用户信息</h1>
<p>姓名: {{ $user['name'] }}</p>
<p>年龄: {{ $user['age'] }}</p>
<p>城市: {{ $user['city'] }}</p>
</body>
</html>
标签: 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。