PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何将smarty安装到MVC架构中(代码示例)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
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/"
    }
  }
}

@H_502_6@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>

在本机浏览器中访问

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

更多相关PHP知识,请访问php教程

大佬总结

以上是大佬教程为你收集整理的如何将smarty安装到MVC架构中(代码示例)全部内容,希望文章能够帮你解决如何将smarty安装到MVC架构中(代码示例)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: