Smarty是一个使用PHP写出来的模板引擎,是业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。
如何将smarty安装到MVC架构中?
首先是composer.json
{ "require": { "smarty/smarty": "^3.1" }, // 自动加载 // 可以在composer.json的autoload字段找那个添加自己的autoloader "autoload": { "psr-4": { "AppControllers": "Controllers/", "AppModels": "Models/", "Tools": "Tools/" } }}Models/Users.php
<?php// model层数据库操作演示namespace AppModels;class Users{ // 数据存入数据库演示 public function store() { echo 'store into database'; } // 查询数据库演示 public function getUsername() { // 查询数据库 return 'test-data'; }}Controllers/UserController.php
<?phpnamespace AppControllers;use AppModelsUsers;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
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Title</title></head><body> <h2> {$username} </h2> <h3> {$age} </h3></body></html>在本机浏览器中访问
![1580102819203284.png AM93J06]$@M9O(63L[~N1LS.png](https://www.easck.com/d/file/p/2020/07-29/0576a5b6342ba9b7778a7749db676678.jpg)
更多相关php知识,请访问php教程!







