Smarty模板引擎

2018-10-19 17:15 更新

使用第三方模板引擎

如果你已经习惯了使用模板引擎来开发项目或者是公司需要,这一切当然是可以的,这儿我们以业内最流行的smarty引擎来示例。

  • 首先我们先将smarty模板引擎文件拷贝到application/extend/lib目录下
/application  [站点应用目录]
 ├─extend ----------------------------[系统框架目录]
 | └─lib -----------------------------[类库目录]
 |   └─smarty-3.1.29------------------[Smarty模板引擎]
 |     ├─plugins ---------------------[libs内文件]
 |     ├─sysplugins ------------------[libs内文件]
 |     ├─debug.tpl -------------------[libs内文件]
 |     ├─Smarty.class.php ------------[libs内文件]
 |     └─SmartyBC.class.php-----------[libs内文件]
  • 再在公共控制器application/admin/Common.php通过import()函数加载Smarty类并配置smarty参数即可。

Smarty模板引擎配置代码如下:

<?php
/**
 * 后台公共控制器,继承控制器基类
 * 使用的smarty模板引擎
 */
namespace app\admin\controller;

class Common
{
    public function __construct()
    {
        import('lib/smarty-3.1.29/Smarty.class');
        //获取内置模板引擎对象
        $this->tp= new \Smarty();
        $this->setTemplate();

    }
    public function display($file){
        $this->tp->display($file);
    }
    //返回assign();方法
    public function assign($var,$value){
        $this->tp->assign($var,$value);
    }//配置模板参数
    public function setTemplate(){
        //变量分隔符
        $this->tp->left_delimiter  = '{#';
        $this->tp->right_delimiter = '#}';  
        $this->tp->template_dir    = APP_PATH  . MODULE . '/view';     //定义模板文件存放的目录  
        $this->tp->compile_dir     = APP_PATH . 'cache/compile/' .MODULE;      //定义通过模板编译文件存放目录
        $this->tp->cache_dir       = APP_PATH . 'cache/cache/' .MODULE;//指定缓存文件路径
    }
}
  • Smarty配置好以后,我们就可以开始使用了,在相应路径添加模板文件index.html,然后在控制器下添加代码看看效果吧,演示代码如下:
<?php
/**
 * 后台入口控制器
 */
namespace app\admin\controller;

//继承公共控制器类
class Index extends \app\admin\controller\Common
{
    /**
     * 输出后台首页
     * @return string [description]
     */
    public function index()
    {
        $info='PHPer';
        $this->assign('info',$info);
        $this->display('index.html');
    }
}

模板文件:`application/admin/view/index.html

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<h3>后台首页</h3>
欢迎您,{#$info#}。
</body>
</html>
  • 至此,smarty模板引擎扩展完成,当然模板引擎本质就是一个php类库而已,如果需要其它扩展,操作亦是如此。
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号