目前CI框架已经推出了2.0的版本了。一直想尝试修改我的网站的核心。经过测试可以正常使用,以下提供配置方案和已经配置好的文件,

下面是配置步骤的详细说明一下:

第一步:安装CodeIngiter。 这个不需要详细说,下载地址为:http://codeigniter.com/downloads/

第二步:下载最新版本的 Smarty库,下载地址:http://www.smarty.net/download

第三步:在安装好的ci项目的根目录下的入口文件 index.php文件开头添加如下代码

define('APP_NAME','application');

if(!defined('ROOT'))define('ROOT',dirname(__FILE__));

if (!defined('DS')) define('DS', DIRECTORY_SEPARATOR);

第四步:在安装好的ci项目的根目录下application\config下添加smarty.php配置文件

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/* smarty 设置 */

$config['caching']= false;

$config['cache_lifetime']= 3600;

$config['template_dir'] = ROOT.DS.APP_NAME.DS.'views'.DS;

$config['compile_dir'] = ROOT.DS.APP_NAME.DS.'cache'.DS.'views_c'.DS;

$config['cache_dir '] = ROOT.DS.APP_NAME.DS.'cache'.DS.'smarty_cache'.DS;

$config['left_delimiter'] = '';

第五步:在安装好的ci项目的根目录下\application\libraries,把下载好的smarty文件包中 libs 放到这里,并改名为smarty

第六步:在安装好的ci项目的根目录下\application\libraries下添加smarty扩展类CI_Smarty.php

require (ROOT.DS.APPPATH."libraries".DS."smarty".DS."Smarty.class.php");

class CI_Smarty extends Smarty

{

protected $ci;

public function __construct()

{

parent::__construct();

$this->ci = & get_instance();

$this->ci->load->config('smarty');

self::loadSetting();

}

public function loadSetting()

{

$this->caching= $this->ci->config->item('caching');

$this->cache_lifetime= $this->ci->config->item('cache_lifetime');

$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->left_delimiter = $this->ci->config->item('left_delimiter');

$this->right_delimiter = $this->ci->config->item('right_delimiter');

}

}

第七步:在application\config\autoload.php,设置自动加载smarty扩展类CI_Smarty.php

$autoload['libraries'] = array('ci_smarty');

第八步:在application\core 添加 MY_Controller.php 文件

class MY_Controller extends CI_Controller

{

public function __construct()

{

parent::__construct();

}

public function assign($key,$val)

{

$this->ci_smarty->assign($key,$val);

}

public function display($html)

{

$this->ci_smarty->display($html);

}

}

第九步:已经配置完成 开始测试 在 application\controllers\welcome.php

class Welcome extends MY_Controller {

public function index()

{

$this->assign("hello","我的博客");

$this->display("test.html");

}

}

模板文件 \application\views\test.html

访问你的本地 index.php 就可以看到

php smarty2 框架,PHP CodeIngiter 2.x.x 框架与 Smarty 3.x.x 模板引擎整合相关推荐

  1. php面试框架的执行流程图,ThinkPHP2.2框架执行流程图,ThinkPHP控制器的执行流程

    ThinkPHP2.2框架执行原理.流程图在线手册 ThinkPHP控制器的执行流程 对用户的第一次URL访问http:///My/index.php/Index/show/所执行的流程进行详细的分析 ...

  2. .NET框架设计—常被忽视的框架设计技巧

    阅读目录: 1.开篇介绍 2.元数据缓存池模式(在运行时构造元数据缓存池) 2.1.元数据设计模式(抽象出对数据的描述数据) 2.2.借助Dynamic来改变IOC.AOP动态绑定的问题 2.3.元数 ...

  3. php框架选型,超实用的开源php框架选择指导

    程序员们都懂得善用开源软件能够有效降低开发成本,而框架被认为是帮助开发者快速设计和开发动态网站的软件应用,因此在开发项目之前选择好一个合适的框架可以让程序员们的开发工作更加快捷.安全和有效,为今后奠定 ...

  4. angler前端框架_2019几大主流的前端框架,几款目前最热门的前端框架

    如今的前端已经不再像以前一样就是简单的写写页面和调调样式而已,现在的前端越来越复杂,知识点越来越丰富. 要做WEB前端,就需要知道前端到底是什么,需要学习那些知识:前端至少要懂的三个部分:HTML,C ...

  5. NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成...

    原文:NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成 本篇内容属于非实用性(拿来即用)介绍,如对框架设计没兴趣的朋友,请略过. 快一个月没有写博 ...

  6. 又想到了模板引擎和前端MVVM框架

    最近接手了一个和报表有关的项目.项目后端的大部分工作都是在操作数据库,作为一个后端新手谈不上有什么感觉.但对于看了前端的写法之后,还是有一点点感想. 项目前端主要使用jQuery及其插件,也许这就是大 ...

  7. DL框架之TensorFlow:深度学习框架TensorFlow Core(低级别TensorFlow API)的简介、安装、使用方法之详细攻略

    DL框架之TensorFlow:TensorFlow Core(低级别TensorFlow API)的简介.安装.使用方法之详细DL框架之TensorFlow:深度学习框架TensorFlow Cor ...

  8. DL框架之Caffe:深度学习框架之Caffe的简介、安装、使用方法详细攻略

    DL框架之Caffe:深度学习框架之Caffe的简介.安装.使用方法详细攻略 目录 Caffe的简介 Caffe的安装 Caffe的使用方法 1.基本函数 ​ Caffe的简介 全称Convoluti ...

  9. DL框架之PyTorch:深度学习框架PyTorch的简介、安装、使用方法之详细攻略

    DL框架之PyTorch:PyTorch的简介.安装.使用方法之详细攻略 DL框架之PyTorch:深度学习框架PyTorch的简介.安装.使用方法之详细攻略 目录 PyTorch的简介 1.pyto ...

最新文章

  1. php微信小程序向下滑动,微信小程序功能实现:上滑加载下拉刷新
  2. MFC中访问界面控件的两种方法
  3. CSS - 层叠特性
  4. 3款动态网页时间时钟HTML5源码
  5. 【SparkStreaming学习之二】 SparkStreaming算子操作
  6. 纽约部署免费千兆Wi-Fi 30秒可下一部电影
  7. NWT失败反省:不想办法开展业务,天天想着让别人不能用
  8. 3D点云语义分割篇——PointNet
  9. TeamViewer——一款强大的远程控制工具
  10. android播放器适配,Android开发 MediaPlayer将视频播放时尺寸适配完美
  11. Behavior Designer 中文版教程
  12. 使用电脑工具--Mydesk
  13. Java接入微信支付超级详细教程——从入门到精通
  14. 怎么提高程序的可修改性
  15. python中key=lambda_排序后的语法(key=lambda:…)
  16. 爱莫科技线下营销智能“四部曲”,推进快消品行业数智化创新
  17. 逻辑代数的基本定理,布尔代数中的反律,摩根定律
  18. 初学者指南:如何毫不费力地优化Jupyter笔记本?
  19. 51单片机流水灯LED
  20. 使用newman导出postman响应数据到本地文件

热门文章

  1. 美国政府在将Web业务赶出美国
  2. VS2005+SQL2005 Reporting Service动态绑定报表(Web)
  3. windows2003开机自动登陆桌面
  4. java: 无法将类 com.duo_tai.Cow中的构造器 Cow应用到给定类型;
  5. CSS 实现行内和上下自适应的几种方法
  6. 如何解压缩.7z 001,.7z002....
  7. Java dom4j解析RESTFull风格发布的WebService的xml文件
  8. MVC PartialView视图使用心得
  9. netfilter与用户空间通信
  10. 函数----MoveWindow