首先是composer.jsonphp
{ "require": { "smarty/smarty": "^3.1" }, // 自动加载 // 能够在composer.json的autoload字段找那个添加本身的autoloader "autoload": { "psr-4": { "App\\Controllers\\": "Controllers/", "App\\Models\\": "Models/", "Tools\\": "Tools/" } } }
Models/Users.phphtml
<?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.htmljson
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h2> {$username} </h2> <h3> {$age} </h3> </body> </html>
在本机浏览器中访问浏览器