Smarty模板引擎

2018-10-19 17:15 更新

使用第三方模板引擎

如果你已經(jīng)習(xí)慣了使用模板引擎來(lái)開發(fā)項(xiàng)目或者是公司需要,這一切當(dāng)然是可以的,這兒我們以業(yè)內(nèi)最流行的smarty引擎來(lái)示例。

  • 首先我們先將smarty模板引擎文件拷貝到application/extend/lib目錄下
/application  [站點(diǎn)應(yīng)用目錄](méi)
 ├─extend ----------------------------[系統(tǒng)框架目錄](méi)
 | └─lib -----------------------------[類庫(kù)目錄](méi)
 |   └─smarty-3.1.29------------------[Smarty模板引擎]
 |     ├─plugins ---------------------[libs內(nèi)文件]
 |     ├─sysplugins ------------------[libs內(nèi)文件]
 |     ├─debug.tpl -------------------[libs內(nèi)文件]
 |     ├─Smarty.class.php ------------[libs內(nèi)文件]
 |     └─SmartyBC.class.php-----------[libs內(nèi)文件]
  • 再在公共控制器application/admin/Common.php通過(guò)import()函數(shù)加載Smarty類并配置smarty參數(shù)即可。

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

<?php
/**
 * 后臺(tái)公共控制器,繼承控制器基類
 * 使用的smarty模板引擎
 */
namespace app\admin\controller;

class Common
{
    public function __construct()
    {
        import('lib/smarty-3.1.29/Smarty.class');
        //獲取內(nèi)置模板引擎對(duì)象
        $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);
    }//配置模板參數(shù)
    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;      //定義通過(guò)模板編譯文件存放目錄
        $this->tp->cache_dir       = APP_PATH . 'cache/cache/' .MODULE;//指定緩存文件路徑
    }
}
  • Smarty配置好以后,我們就可以開始使用了,在相應(yīng)路徑添加模板文件index.html,然后在控制器下添加代碼看看效果吧,演示代碼如下:
<?php
/**
 * 后臺(tái)入口控制器
 */
namespace app\admin\controller;

//繼承公共控制器類
class Index extends \app\admin\controller\Common
{
    /**
     * 輸出后臺(tái)首頁(yè)
     * @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>后臺(tái)首頁(yè)</h3>
歡迎您,{#$info#}。
</body>
</html>
  • 至此,smarty模板引擎擴(kuò)展完成,當(dāng)然模板引擎本質(zhì)就是一個(gè)php類庫(kù)而已,如果需要其它擴(kuò)展,操作亦是如此。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)