CI 框架整合 Smarty 模版引擎

(本地開(kāi)發(fā)環(huán)境下進(jìn)行: CI 3.x + Smarty 3.x)
本地開(kāi)發(fā)環(huán)境準(zhǔn)備說(shuō)明

此處不做過(guò)多的說(shuō)明,你可以下載一個(gè)本地集成開(kāi)發(fā)環(huán)境(如:XAMPP 或者 wampserver)安裝使用虎眨;本文檔是基于 MAC买乃、 XAMPP 環(huán)境進(jìn)行介紹鞍盗。

一津肛、搭建CI框架環(huán)境
1嫉戚、下載 CI 3.x 版本

下載地址: https://codeigniter.org.cn/download

2棒呛、解壓唬滑、拷貝告唆、初始訪問(wèn)

解壓文件莫秆,并將其中的文件夾 application、 system悔详、 和文件 index.php 拷貝到你的web根目錄下镊屎,然后就可以使用CI框架了。至于其他的文件夾和文件茄螃,根據(jù)你的心情選擇是否要一起拷貝缝驳。


copy_floder_file.png

然后訪問(wèn)你的web進(jìn)行測(cè)試:http://localhost/xxx/ ,如果得到如下畫(huà)面归苍,表示CI框架環(huán)境搭建成功用狱。

ci_welcome.png

二、整合 Smarty 模版引擎

1拼弃、下載 Smarty 3.x 版本

下載地址: https://github.com/smarty-php/smarty/releases/tag/v3.1.30

2夏伊、解壓
3、在 application/third_party/ 文件夾下創(chuàng)建文件夾 smarty-3.1.30 吻氧,并將解壓好的Smarty庫(kù)中的libs文件夾復(fù)制到 smarty-3.1.30 文件夾中
4溺忧、在application/config下創(chuàng)建smarty.php(其中的路徑和定界符均可以自由定義使用),代碼如下:
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
$config['cache_lifetime']   = 60;
$config['caching']          = false;
$config['template_dir']     = APPPATH . 'views';
$config['compile_dir']      = APPPATH . 'views/template_c';
$config['cache_dir']        = APPPATH . 'views/cache';
$config['config_dir']       = APPPATH . 'views/config';
$config['use_sub_dirs']     = false; //子目錄變量(是否在緩存文件夾中生成子目錄)
$config['left_delimiter']   = '<{';
$config['right_delimiter']  = '}>';
5盯孙、在application/libraries下創(chuàng)建一個(gè)Ci_smarty.php(注意:文件名可以隨意保存鲁森,但接下來(lái)的步驟會(huì)用到此文件,所以請(qǐng)區(qū)分大小寫(xiě))振惰,代碼如下:
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

require_once(APPPATH .'third_party/smarty-3.1.30/libs/SmartyBC.class.php');
class Ci_smarty extends SmartyBC {
    protected $ci;
    public function __construct(){
        parent::__construct();
        $this->ci = & get_instance();
        $this->ci->load->config('smarty');//加載smarty的配置文件
        $this->cache_lifetime   = $this->ci->config->item('cache_lifetime');
        $this->caching          = $this->ci->config->item('caching');
        $this->config_dir       = $this->ci->config->item('config_dir');
        $this->template_dir     = $this->ci->config->item('template_dir');
        $this->compile_dir      = $this->ci->config->item('compile_dir');
        $this->cache_dir        = $this->ci->config->item('cache_dir');
        $this->use_sub_dirs     = $this->ci->config->item('use_sub_dirs');
        $this->left_delimiter   = $this->ci->config->item('left_delimiter');
        $this->right_delimiter  = $this->ci->config->item('right_delimiter');
    }
}
6佳吞、在application/core下新建一個(gè)MY_Controller.php 凿叠,代碼如下:
<?php
class MY_Controller extends CI_Controller {
    public function __construct() {
        parent::__construct();
        $this->load->library("Ci_smarty");
    }

    public function assign($key, $val) {
        $this->ci_smarty->assign($key, $val);
    }

    public function display($html) {
        $this->ci_smarty->display($html);
    }
}
7围来、測(cè)試 Smarty 的整合

在 application/controller/ 目錄下創(chuàng)建一個(gè)控制器文件 Test.php刺桃, 代碼示例如下:

<?php
/**
 * Created by PhpStorm.
 * User: joker
 * Date: 2017/11/12
 * Time: 15:15
 */

class Test extends MY_Controller
{
    public function __construct(){
        parent::__construct();
    }

    public function index(){
        $data = [];
        $data['describe'] = '測(cè)試CI框架整合Smarty模版引擎!M盎住匙头!';
        $this->assign('data', $data);

        $this->display(APPPATH . 'views/templates/test.tpl');
    }
}

在 application/views/templates/ 目錄下創(chuàng)建一個(gè)控制器文件 test.tpl, 代碼示例如下:

<!DOCTYPE html>
<html>
<head>
    <title>測(cè)試smarty整合</title>
</head>
<body>

<h1><{$data["describe"]}></h1>

</body>
</html>

在 application/config/routes.php 文件中添加控制器的訪問(wèn)路由羽圃,則可以進(jìn)行訪問(wèn)測(cè)試乾胶;如果得到如下的界面,則整合成功:


ci_smarty_success.png

至此朽寞,CI框架整合Smarty模版引擎完畢。

【如若文檔有錯(cuò)誤斩郎,歡迎大家不吝賜教脑融。本文檔是集網(wǎng)上各位大神的資源進(jìn)行整合的,具體資源來(lái)源已經(jīng)忘記了缩宜,如果發(fā)現(xiàn)有侵權(quán)等行為肘迎,請(qǐng)聯(lián)系我甥温,我將對(duì)應(yīng)處理,謝謝~~~】

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末妓布,一起剝皮案震驚了整個(gè)濱河市姻蚓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌匣沼,老刑警劉巖狰挡,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異释涛,居然都是意外死亡加叁,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)唇撬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)它匕,“玉大人,你說(shuō)我怎么就攤上這事窖认≡ゼ恚” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵扑浸,是天一觀的道長(zhǎng)轮傍。 經(jīng)常有香客問(wèn)我,道長(zhǎng)首装,這世上最難降的妖魔是什么创夜? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮仙逻,結(jié)果婚禮上驰吓,老公的妹妹穿的比我還像新娘。我一直安慰自己系奉,他們只是感情好檬贰,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著缺亮,像睡著了一般翁涤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上萌踱,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天葵礼,我揣著相機(jī)與錄音,去河邊找鬼并鸵。 笑死鸳粉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的园担。 我是一名探鬼主播届谈,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼枯夜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了艰山?” 一聲冷哼從身側(cè)響起湖雹,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎曙搬,沒(méi)想到半個(gè)月后摔吏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡织鲸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年舔腾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搂擦。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡稳诚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瀑踢,到底是詐尸還是另有隱情扳还,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布橱夭,位于F島的核電站氨距,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏棘劣。R本人自食惡果不足惜俏让,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望茬暇。 院中可真熱鬧首昔,春花似錦、人聲如沸糙俗。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)巧骚。三九已至赊颠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間劈彪,已是汗流浹背竣蹦。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留粉臊,地道東北人草添。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像扼仲,于是被迫代替她去往敵國(guó)和親远寸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容