本文实例讲述了CodeIgniter整合Smarty的方法。分享给大家供大家参考,具体如下:
CI3.0.2发布后感觉模板类还是不怎么好用,而且不能编译。Smarty功能强大,用习惯了Smarty标签,一般难以放弃,而且,是可以编译文件执行,速度快,我们可以把它们整合使用,弥补CI的模板功能的不足。我们整合使用的是CI版本3.0.3及 Smarty版本3.1.27。下面描述整合过程。
1、下载smarty-3.1.27
2 、解压smarty-3.1.27到CI项目中的application\libraries下面,其他的文件删除。
3、 在application\libraries目录下创建Ci_smarty.php文件,代码如下:
if ( ! defined('BASEPATH')) exit('No direct script access allowed'); require(APPPATH.'libraries/smarty-3.1.27/libs/Smarty.class.php'); class Ci_smarty extends Smarty { 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'); } }
4、在application\config目录下创建配置文件smarty.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\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); } }
至此,配置整合工作over了,下面我们要验证是否配置成功。
7、修改application\controllers的Welcome.php,代码如下:
defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends MY_controller { public function index() { $test='ci 3.0.3 + smarty 3.1.27 配置成功'; $this->assign('test',$test); $this->display('test.html'); } }
然后,在application\views下创建test.html文件,代码如下:
{$test}
在浏览器地址栏中输入:http://localhost/index.php/Welcome
结果显示:
ci 3.0.3 + smarty 3.1.27 配置成功
大功告成!
更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。
本文向大家介绍CodeIgniter集成smarty的方法详解,包括了CodeIgniter集成smarty的方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了CodeIgniter集成smarty的方法。分享给大家供大家参考,具体步骤如下: 1.下载smarty 解压到ci的libraries目录 如: ci/application/libraries/Smarty-2.6.20
本文向大家介绍CI框架整合smarty步骤详解,包括了CI框架整合smarty步骤详解的使用技巧和注意事项,需要的朋友参考一下 本文详细讲述了CI框架整合smarty步骤。分享给大家供大家参考,具体如下: Ci结合smarty的配置步骤: 1. 第一步配置ci和下载smarty的模板个人喜欢用(Smarty-3.1.8)这个版本。 2. 第二部把下载到的smarty版本解压然后把里面的libs文件
本文向大家介绍Codeigniter整合Tank Auth权限类库详解,包括了Codeigniter整合Tank Auth权限类库详解的使用技巧和注意事项,需要的朋友参考一下 相交其他CodeIgniter的类库,tank_auth,配置简单,使用也简单,并且作者也一直在更新,现在是1.0.9。1.0.8已经支持CI2.0了,我现在一般的项目都是用它,所以推荐给大家。 安装Tankauth的步骤
本文向大家介绍让codeigniter与swfupload整合的最佳解决方案,包括了让codeigniter与swfupload整合的最佳解决方案的使用技巧和注意事项,需要的朋友参考一下 codeigniter是一款轻量,便捷的MVC框架,最近的项目涉及到批量上传,于是,就是用了swfupload这个插件,虽然网上有很多关于ci与swfupload的帖子,不过,并不是很完整,所以,这里综合各家优点
本文向大家介绍Smarty变量用法详解,包括了Smarty变量用法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Smarty变量用法。分享给大家供大家参考,具体如下: 1. 从PHP分配的变量 调用从PHP分配的变量需在前加"$"符号.(译注:同php一样) 调用模板内的assign函数分配的变量也是这样.(译注:也是用$加变量名来调用) 示例: index.php: index.t
本文向大家介绍php及codeigniter使用session-cookie的方法(详解),包括了php及codeigniter使用session-cookie的方法(详解)的使用技巧和注意事项,需要的朋友参考一下 1、读写cookie <1>原生 设置失败,没有正常写入浏览器,测试失败,原因未知 <2>CI框架 <3>通过helper 2、读写session <1>原生session 启动: 赋