文档章节

ci2 整合smarty3.0

martin-gao
 martin-gao
发布于 2015/12/28 22:22
字数 366
阅读 45
收藏 1

(1)下载smarty ,这儿下载的是 smarty-3.1.29

(2)解压到 application/librarys/文件夹下面,形成 application/librarys/smarty-3.1.29/

(3)在application/librarys/Cismarty.php新建 Cismarty.php文件

Cismarty.php 文件修改

<?php

if(!defined('BASEPATH')) EXIT('No direct script asscess allowed');
require_once( APPPATH . 'libraries/smarty-3.1.29/libs/Smarty.class.php' );

class Cismarty extends Smarty
{
	protected $ci;
	public function __construct()
	{
		parent::__construct();
		$this->ci =& get_instance();
		$this->ci->load->config('smarty');// 加载smarty 的配置文件
		// 获取相关的配置项
		$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->config_dir     = $this->ci->config->item('config_dir');
		$this->caching        = $this->ci->config->item('caching');
		$this->cache_lifetime = $this->ci->config->item('lefetime');
		$this->right_delimiter= $this->ci->config->item('right_delimiter');
		$this->left_delimiter = $this->ci->config->item('left_delimiter');
	}
}

(4)配置smarty配置项

<?php
if( !defined('BASEPATH')) exit('No direct script access allowed');
	
$config['theme']    = 'default';
$config['template_dir']    = FCPATH . 'www/temp';
$config['compile_dir']    = FCPATH . 'www/temp_c';
$config['cache_dir']    = FCPATH . 'www/cache';
$config['config_dir']    = FCPATH . 'www/configs';
$config['caching']    = false;
$config['lefttime']    = 0;
$config['left_delimiter'] = '<{';
$config['right_delimiter'] = '}>';

(5) 在index.php同级目录下,建立文件夹

www

www/temp

www/temp_c

www/cache/

www/configs

(6)开启自由加载,application/config/autoload.php

中修改代码  $autoload['libraries'] = array('Cismarty');

(7)验证

新建

application/core/MY_Controller.php

<?php 
if (!defined('BASEPATH')) exit('No direct access allowed');

class MY_Controller extends CI_Controller
{
	public function __construct()
	{
		parent::__construct();
	}

	public function assign($key, $val)
	{
		$this->cismarty->assign($key, $val);
	}

	public function display($html)
	{
		
		$this->cismarty->display($html);
	}
}

修改application/controller.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends MY_Controller 
{


	public function index()
	{
		$say = 'hello world';
		$this->assign('say', $say);
		$this->display("index.html");
	}
}

新建文件www/temp/index.html

<!DOCTYPE>
<html>
<head>
<title></title>
</head>
<body>
<{$say}>
</body>
</html>

最后 >sudo chmod -R 777 www

访问localhost/index.php

输出 hello world

配置完成。

© 著作权归作者所有

共有 人打赏支持
martin-gao
粉丝 7
博文 52
码字总数 14744
作品 0
深圳
后端工程师
加载中

评论(2)

陈宋
陈宋
79
即行
即行
123
ci3.0值得升级吗

我同时下载了ci2.2和ci3.0,用ab工具测试了下 ab -c 1000 -n 1000 ci2/ci3,发现ci2 demo页每秒能响应请求480个,而ci3 demo页只能响应请求330个.性能差三分之一差不多.那么,ci3.0到底值得...

jack984
2015/04/15
1K
7
关于smarty中cache的设置

smarty有一个对象可以开启缓存 $caching: 1:当值为1的时候,默认缓存保存时间是3600秒.倘若设置了cachelifetime,则缓存保存时间依据cachelifetime设置的时间为准.比如说: <?phprequire "...

PHer
2014/06/16
0
0
ci3.0与ci2.2有什么不同

请问ci3.0与ci2.2有什么不同,同样显示demo-index.php页,为什么用ci2 ab测试每秒能响应412个请求,而ci3只能响应312个请求.

jack984
2015/04/14
136
0
o0无忧亦无怖/Codeigniter 3 HMVC

#Codeigniter 3 HMVC ##说明 Codeigniter 3 对于Codeigniter 2.X系列版本进行了一次大的变革,所以很多在2.X版本的代码到3.x版本已经不适用了。 开源代码(部分参照)CI2由Jens Segers开源的...

o0无忧亦无怖
2016/02/18
0
0
Windows Azure入门教学系列 (六):使用Table Storage

公告 :本博客为微软云计算中文博客 的镜像博客。 部分文章因为博客兼容性问题 ,会影响阅读体验 。如遇此情况,请访问 原博客 。 本文是 Windows Azure 入门教学 的第六篇文章。 本文将会介...

晨曦之光
2012/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
35分钟前
1
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
0
0
890. Find and Replace Pattern - LeetCode

Question 890. Find and Replace Pattern Solution 题目大意:从字符串数组中找到类型匹配的如xyy,xxx 思路: 举例:words = ["abc","deq","mee","aqq","dkd","ccc"], pattern = "abb"abc ......

yysue
昨天
0
0
Linux | Redis

写在前面的话 常言道,不作笔记不读书。在下是深有体会啊,所以,跟我一起做下本节的笔记吧,或许多年以后,你一定会感谢今天的你。 安装 在官网的下载页 Redis Download 直接写了在Linux的安...

冯文议
昨天
1
0
NoSQL-memcached

NoSQL介绍 NoSQL叫非关系型数据库。而关系型数据库代表有MySQL。对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很...

ln97
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部