Smarty是一个使用PHP写出来的模板引擎,是业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。
如何将smarty安装到MVC架构中?
首先是composer.json{
"require": {
"smarty/smarty": "^3.1"
},
// 自动加载
// 可以在composer.json的autoload字段找那个添加自己的autoloader
"autoload": {
"psr-4": {
"App\\Controllers\\": "Controllers/",
"App\\Models\\": "Models/",
"Tools\\": "Tools/"
}
}
}
Models/Users.php<?php
// model层数据库操作演示
namespace App\Models;
class Users
{
// 数据存入数据库演示
public function store()
{
echo 'store into database';
}
// 查询数据库演示
public function getUsername()
{
// 查询数据库
return 'test-data';
}
}
Controllers/UserController.php<?php
namespace App\Controllers;
use App\Models\Users;
use Smarty;
class UserController extends Smarty
{
public function create()
{
echo 'User create';
}
public function getUser()
{
// 通过Model查询数据
$userModel = new Users;
$username = $userModel->getUsername();
echo 'username:'.$username;exit;
$this->setTemplateDir(dirname(__DIR__) . '/Views/');
$this->setCompileDir(dirname(__DIR__) . '/runtime/Compile/');
// 将$username显示在对应的一个HTML文件当中,并且显示出来
// 表现层 user/user.html
// 将变量发送给模板(html文件)
$this->assign('username', $username);
$this->assign('age', 20);
// 显示模板
$this->display('user/user.html');
}
}
Views/user/user.html
Title{$username}
{$age}
在本机浏览器中访问
更多相关php知识,请访问php教程!