CodeIgniter中使用Smarty3基本配置


Posted in PHP onJune 29, 2015

一、创建Smarty类库

1.将smarty的libs文件复制到libraries下(这里我重命名为smarty)
2.新建Cismarty.php文件。(符合文件规范,文件名的首字母和class名的首字母大写,但是控制器引用加载时,类名/文件名不需要大写)

Cismarty.php

<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
require(APPPATH . 'libraries/smarty/Smarty.class.php');
//CI,文件系统全用相对路径相对index.php所在的路径,url全部用绝对路径。
//BASEPATH    - The full server path to the "system" folder
//APPPATH    - The full server path to the "application" folder
class Cismarty extends Smarty
{
  public function __construct()
  {
 
    parent::__construct();
    $this->caching = false;
    $this->setTemplateDir(APPPATH . 'views/Smarty/templates'); //设定所有模板文件都需要放置的目录地址。
    $this->setConfigDir(APPPATH . 'views/Smarty/configs'); //设定用于存放模板特殊配置文件的目录,
    $this->setCacheDir(APPPATH . 'views/Smarty/cache'); //在启动缓存特性的情况下,这个属性所指定的目录中放置Smarty缓存的所有模板
    $this->setPluginsDir(APPPATH . 'views/Smarty/plugins'); //插件目录
    $this->setCompileDir(APPPATH . 'views/Smarty/templates_c'); //设定Smarty编译过的所有模板文件的存放目录地址
 
 
  }
 
}
 
?>

 在对应目录新建smarty的文件夹。templates,configs,cache,plugins,templates_c.

二、控制器文件

建立控制器文件paper.php(类名的首字母大写)(使用load加载libraries时默认执行构造器函数,使用url路由访问控制器时执行构造器函数和默认的index方法。)
paper.php:

<?php
 
class Paper extends CI_Controller
{
  function __construct()
  {
    parent::__construct();
  }
 
  public function pri_body()
  {
 
    $this->load->library('cismarty');
    $this->cismarty->assign("name", 1200);
    $this->cismarty->display('dd.tpl');
 
 
  }
}
?>

 也可以在application/config/autoload.php中配置自动加载资源。

PHP 相关文章推荐
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
Jun 04 PHP
codeigniter中测试通过的分页类示例
Apr 17 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
Apr 21 PHP
PHP中使用file_get_contents post数据代码例子
Feb 13 PHP
php实现猴子选大王问题算法实例
Apr 20 PHP
php强制下载文件函数
Aug 24 PHP
PHP中cookie知识点学习
May 06 PHP
PHP strripos函数用法总结
Feb 11 PHP
Swoole4.4协程抢占式调度器详解
May 23 PHP
php项目中类的自动加载实例讲解
Sep 12 PHP
php引用和拷贝的区别知识点总结
Sep 23 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
Feb 26 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
Jun 29 #PHP
Linux系统递归生成目录中文件的md5的方法
Jun 29 #PHP
基于CakePHP实现的简单博客系统实例
Jun 28 #PHP
Codeigniter的dom类用法实例
Jun 26 #PHP
PHP关联数组实现根据元素值删除元素的方法
Jun 26 #PHP
PHP实现事件机制实例分析
Jun 26 #PHP
php使用MySQL保存session会话的方法
Jun 26 #PHP
You might like
第八节--访问方式
2006/11/16 PHP
PHP答题类应用接口实例
2015/02/09 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
2010/11/19 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
js利用数组length属性清空和截短数组的小例子
2014/01/15 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
Js实现京东无延迟菜单效果实例(demo)
2017/06/02 Javascript
在vue组件中使用axios的方法
2018/03/16 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
[01:57]2018年度DOTA2最具潜力解说-完美盛典
2018/12/16 DOTA
python实现中文输出的两种方法
2015/05/09 Python
Python3字符串学习教程
2015/08/20 Python
python 添加用户设置密码并发邮件给root用户
2016/07/25 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
python实现矩阵打印
2019/03/02 Python
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
Python自动采集微信联系人的实现示例
2020/02/28 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
购买限量版收藏品、珠宝和礼品:Bradford Exchange
2016/09/23 全球购物
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
请介绍一下Ant
2016/07/22 面试题
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
大学生物业管理求职信
2013/10/24 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
公司委托书格式范文
2014/10/09 职场文书
小学生安全教育广播稿
2014/10/20 职场文书
小学教师教学随笔
2015/08/14 职场文书