本文實例講述了CodeIgniter框架實現的整合Smarty引擎。分享給大家供大家參考,具體如下:
Smarty的模板機制很強大,一般情況下CI框架無需整合其他模板標簽,因為PHP本身就是一種標簽,簡單易用。Codeigniter整合Smarty教程(我用的都是最新版本)如下:
第一步:下載Codeigniter最新版本:CodeIgniter框架源碼
第二步:下載Smarty最新版本:Smarty引擎源碼
第三步:具體配置
我已將本人整合好的代碼上傳,有興趣的可以下載閱讀。Codeigniter框架整合Smarty引擎DEMO 。
1、準備
將smarty拷貝到application/libraries下,然后再根目錄下下新建templates,templates_c,config,cache目錄,結構如下:
2、修改入口文件
在入口文件index.php中新增:
define('ROOT', dirname(__FILE__));
3、新建CI_Smarty.php
在libraries文件下新建CI_Smarty.php,寫如下代碼:
?php
/**
* =======================================
* Created by PK Technology.
* Author: ZhiHua_W
* Date: 2016/10/31 0031
* Time: 上午 9:16
* Project: CI整合
* Power: CI框架整合smarty
* =======================================
*/
defined('BASEPATH') OR exit('No direct script access allowed');
require(APPPATH . 'libraries/smarty/Smarty.class.php');
class CI_Smarty extends Smarty
{
public function __construct($template_dir = '', $compile_dir = '', $config_dir = '', $cache_dir = '')
{
parent::__construct();
if (is_array($template_dir)) {
foreach ($template_dir as $key => $value) {
$this->$key = $value;
}
} else {
//ROOT是Codeigniter在入口文件index.php定義的本web應用的根目錄
$this->template_dir = $template_dir ? $template_dir : ROOT . '/templates';
$this->compile_dir = $compile_dir ? $compile_dir : ROOT . '/templates_c';
$this->config_dir = $config_dir ? $config_dir : ROOT . '/config';
$this->cache_dir = $cache_dir ? $cache_dir : ROOT . '/cache';
}
}
}
4、在controller中使用
在控制器Welcome.php中寫入使用方法,代碼如下:
?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller
{
/**
* Welcome constructor.
* 寫入構造函數,引入CI_Smarty類文件
*/
public function __construct()
{
parent::__construct();
$this->load->library('CI_Smarty');
}
/**
* smarty測試函數
*/
public function test()
{
$this->ci_smarty->assign('test', 'smarty');
$this->ci_smarty->display('test.tpl');
}
}
5、創(chuàng)建模版試圖
在templates文件夾下創(chuàng)建test.tpl文件,寫入如下代碼:
!DOCTYPE html>
html lang="en">
head>
meta charset="UTF-8">
title>Codeigniter整合Smarty測試/title>
/head>
body>
這是 {$test} 測試
/body>
/html>
6、訪問
至此,我們整合完畢,訪問:http://localhost/Codeigniter_Smarty/index.php/Welcome/test即可看到測試結果。
更多關于CodeIgniter相關內容感興趣的讀者可查看本站專題:《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《php優(yōu)秀開發(fā)框架總結》、《ThinkPHP入門教程》、《ThinkPHP常用方法總結》、《Zend FrameWork框架入門教程》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家基于CodeIgniter框架的PHP程序設計有所幫助。
您可能感興趣的文章:- CodeIgniter整合Smarty的方法詳解
- CodeIgniter集成smarty的方法詳解
- Codeigniter中集成smarty和adodb的方法
- CodeIgniter中使用Smarty3基本配置
- 讓codeigniter與swfupload整合的最佳解決方案
- Codeigniter整合Tank Auth權限類庫詳解
- CodeIgniter模板引擎使用實例
- CodeIgniter使用phpcms模板引擎