(本地開(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ù)你的心情選擇是否要一起拷貝缝驳。
然后訪問(wèn)你的web進(jìn)行測(cè)試:http://localhost/xxx/ ,如果得到如下畫(huà)面归苍,表示CI框架環(huán)境搭建成功用狱。
二、整合 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模版引擎完畢。
【如若文檔有錯(cuò)誤斩郎,歡迎大家不吝賜教脑融。本文檔是集網(wǎng)上各位大神的資源進(jìn)行整合的,具體資源來(lái)源已經(jīng)忘記了缩宜,如果發(fā)現(xiàn)有侵權(quán)等行為肘迎,請(qǐng)聯(lián)系我甥温,我將對(duì)應(yīng)處理,謝謝~~~】