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

资源魔 38 0
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

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h2>
        {$username}
    </h2>
    <h3>
        {$age}
    </h3>
</body>
</html>

正在本机阅读器中拜访

AM93J06]$@M9O(63L[~N1LS.png

更多相干php常识,请拜访php教程!

以上就是若何将smarty装置到MVC架构中(代码示例)的具体内容,更多请存眷资源魔其它相干文章!

标签: php开发教程 php开发资料 php开发自学 smarty

抱歉,评论功能暂时关闭!