当前位置:首页 > CMS教程 > 其它CMS > 列表

如何将smarty安装到MVC架构中(代码示例)

发布:smiling 来源: PHP粉丝网  添加日期:2022-05-29 08:10:21 浏览: 评论:0 

Smarty是一个使用PHP写出来的模板引擎,是业界最著名的PHP模板引擎之一,它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。

如何将smarty安装到MVC架构中?

首先是composer.json

  1.  
  2.   "require": { 
  3.  
  4.     "smarty/smarty""^3.1" 
  5.  
  6.   }, 
  7.  
  8.   // 自动加载 
  9.  
  10.   // 可以在composer.json的autoload字段找那个添加自己的autoloader 
  11.  
  12.   "autoload": { 
  13.  
  14.     "psr-4": { 
  15.  
  16.       "App\\Controllers\\": "Controllers/", 
  17.  
  18.       "App\\Models\\": "Models/", 
  19.  
  20.       "Tools\\": "Tools/" 
  21.  
  22.     } 
  23.  
  24.   } 
  25.  

Models/Users.php

  1. <?php 
  2.  
  3. // model层数据库操作演示 
  4.  
  5. namespace App\Models; 
  6.  
  7. class Users 
  8.  
  9.  
  10.     // 数据存入数据库演示 
  11.  
  12.     public function store() 
  13.  
  14.     { 
  15.  
  16.         echo 'store into database'
  17.  
  18.     } 
  19.  
  20.     // 查询数据库演示 
  21.  
  22.     public function getUsername() 
  23.  
  24.     { 
  25.  
  26.         // 查询数据库 
  27.  
  28.         return 'test-data'
  29.  
  30.     } 
  31.  

Controllers/UserController.php

  1. <?php 
  2.  
  3. namespace App\Controllers; 
  4.  
  5. use App\Models\Users; 
  6.  
  7. use Smarty; 
  8.  
  9. class UserController extends Smarty 
  10.  
  11.  
  12.     public function create() 
  13.  
  14.     { 
  15.  
  16.         echo 'User create'
  17.  
  18.     } 
  19.  
  20.     public function getUser() 
  21.  
  22.     { 
  23.  
  24.         // 通过Model查询数据 
  25.  
  26.         $userModel = new Users; 
  27.  
  28.         $username = $userModel->getUsername(); 
  29.  
  30.         echo 'username:'.$username;exit
  31.  
  32.         $this->setTemplateDir(dirname(__DIR__) . '/Views/'); 
  33.  
  34.         $this->setCompileDir(dirname(__DIR__) . '/runtime/Compile/'); 
  35.  
  36.         // 将$username显示在对应的一个HTML文件当中,并且显示出来 
  37.  
  38.         // 表现层 user/user.html 
  39.  
  40.         // 将变量发送给模板(html文件) 
  41.  
  42.         $this->assign('username'$username); 
  43.  
  44.         $this->assign('age', 20); 
  45.  
  46.         // 显示模板 
  47.  
  48.         $this->display('user/user.html'); 
  49.  
  50.     } 
  51.  

Views/user/user.html

  1. <!DOCTYPE html> 
  2.  
  3. <html> 
  4.  
  5. <head> 
  6.  
  7.     <meta charset="UTF-8"> 
  8.  
  9.     <title>Title</title> 
  10.  
  11. </head> 
  12.  
  13. <body> 
  14.  
  15.     <h2> 
  16.  
  17.         {$username} 
  18.  
  19.     </h2> 
  20.  
  21.     <h3> 
  22.  
  23.         {$age} 
  24.  
  25.     </h3> 
  26.  
  27. </body> 
  28.  
  29. </html> 

在本机浏览器中访问

如何将smarty安装到MVC架构中(代码示例)

Tags: smarty MVC

分享到: