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 中文字符入库或显示乱码问题的解决方法
Apr 12 PHP
php array_filter除去数组中的空字符元素
Jun 21 PHP
解析isset与is_null的区别
Aug 09 PHP
PHP 函数call_user_func和call_user_func_array用法详解
Mar 02 PHP
PHP提交表单失败后如何保留已经填写的信息
Jun 20 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 PHP
PHP7.0版本备注
Jul 23 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
Mar 10 PHP
Yii2 输出xml格式数据的方法
May 03 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
Apr 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
mysql时区问题
2008/03/26 PHP
ThinkPHP 防止表单重复提交的方法
2011/08/08 PHP
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
php将字符串转换成16进制的方法
2015/03/17 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
破除一些网站复制、右键限制
2006/11/04 Javascript
js判断当前浏览器类型,判断IE浏览器方法
2014/06/02 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
浅谈jquery fullpage 插件增加头部和版权的方法
2018/03/20 jQuery
layer.open关闭父窗口 以及调用父页面的方法
2018/08/17 Javascript
浅探express路由和中间件的实现
2019/09/30 Javascript
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
2019/10/30 Javascript
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
Python常用模块用法分析
2014/09/08 Python
介绍Python中内置的itertools模块
2015/04/29 Python
使用Python神器对付12306变态验证码
2016/01/05 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
Python3中使用PyMongo的方法详解
2017/07/28 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
在Python中利用pickle保存变量的实例
2019/12/30 Python
Pytest单元测试框架如何实现参数化
2020/09/05 Python
python如何爬取动态网站
2020/09/09 Python
python 实现socket服务端并发的四种方式
2020/12/14 Python
thinkphp5 路由分发原理
2021/03/18 PHP
音乐学院硕士生的自我评价分享
2013/11/01 职场文书
学校节能减排倡议书
2014/05/16 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python