CI框架整合smarty步骤详解


Posted in PHP onMay 19, 2016

本文详细讲述了CI框架整合smarty步骤。分享给大家供大家参考,具体如下:

Ci结合smarty的配置步骤:

1. 第一步配置ci和下载smarty的模板个人喜欢用(Smarty-3.1.8)这个版本。

2. 第二部把下载到的smarty版本解压然后把里面的libs文件改名为smarty然后把这个文件拷到ci\application\libraries目录下面

3. 在ci\application\libraries这个目录下面建立一个文件,文件名可以自定义,例如见一个tp.php的文档。

4. 用编译器打开tp.php然后写入以下代码:

<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once('smarty/smarty.class.php');
class Tp extends Smarty{
 function tp(){
  parent::Smarty();
  $this->template_dir = APPPATH.'views';
  $this->compile_dir = APPPATH.'templates_c/';
  $this->left_delimiter = '<{';
  $this->right_delimiter = '}>';
 }
}

5. 在建立一个ci\application\templates_c文件夹

6. 打开ci\application\config\autoload.php文件把

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

改成:

$autoload['libraries'] = array('database','tp');

OK我们的配置到这里就已经成功了,接下来我们开始测试

测试的第一步先建立一个控制器:

1. 在\application\controllers下建立一个文件名为ceshi.php的文件,文件内容

<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
  function __construct()
  {
   parent::__construct();
   $this->load->helper('url');
   $this->tp->assign('base_url', base_url());
   //定义css以及js的路径
  }
  function index()
  {
   $this->tp->assign("title","恭喜你smarty安装成功!");
   $this->tp->assign("body","欢迎使用smarty模板引擎");
   $arr = array(1=>'zhang',2=>'xing',3=>'wang');
   $this->tp->assign("myarray",$arr);
   $this->tp->display('ceshi.html');
  }
}

2.建立模板文件在ci\application\views目录下建立文件名为ceshi.html的文件,文件内容为

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <script src='<!--{$base_url}-->js/jQuery.min.js' type='text/JavaScript' ></script>
 <link href="<!--{$base_url}-->css/login.css" rel="stylesheet" type="text/css" />
 <title>smarty安装测试</title>
</head>
<body>
<h1><{$title}></h1>
<p><{$body}></p>
<ul>
  <{foreach from=$myarray item=v}>
  <li><{$v}></li>
  <{/foreach}>
</ul>
</body>
</html>

最后输入地址http://localhost/ci/application/index.php/ceshi (主意ci代表的是你自己放置ci框架中文件的根目录)运行以后你将会看到你配置smarty成功的页面,到这里ci和smarty的整合以及测试就完工了

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

PHP 相关文章推荐
用Apache反向代理设置对外的WWW和文件服务器
Oct 09 PHP
PHP添加MySQL数据记录代码
Jun 07 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
Jul 03 PHP
ajax返回值中有回车换行、空格的解决方法分享
Oct 24 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
Jun 05 PHP
Yii框架获取当前controlle和action对应id的方法
Dec 03 PHP
php生成zip文件类实例
Apr 07 PHP
ajax+php控制所有后台函数调用
Jul 15 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
Aug 18 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
Dec 19 PHP
php实现XML和数组的相互转化功能示例
Feb 08 PHP
php和nginx交互实例讲解
Sep 24 PHP
PHP QRCODE生成彩色二维码的方法
May 19 #PHP
PHP下载文件的函数实例代码
May 18 #PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 #PHP
CI框架的安全性分析
May 18 #PHP
PHP的swoole扩展安装方法详细教程
May 18 #PHP
CI框架支持$_GET的两种实现方法
May 18 #PHP
CI框架中$this-&gt;load-&gt;library()用法分析
May 18 #PHP
You might like
杏林同学录(八)
2006/10/09 PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
2011/07/12 PHP
PHP生成短网址的3种方法代码实例
2014/07/08 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
2018/04/21 PHP
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
javascript parseInt与Number函数的区别
2010/01/21 Javascript
THREE.JS入门教程(5)你应当知道的十件事
2013/01/24 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
javascript显式类型转换实例分析
2015/04/25 Javascript
微信小程序-详解数据缓存
2016/11/24 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
基于$.ajax()方法从服务器获取json数据的几种方式总结
2018/01/31 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
javascript中可能用得到的全部的排序算法
2020/03/05 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
Python文件和目录操作详解
2015/02/08 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
pyinstaller还原python代码过程图解
2020/01/08 Python
关于多元线性回归分析——Python&amp;SPSS
2020/02/24 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
设计师大码女装:11 Honoré
2020/05/03 全球购物
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
xml有哪些解析技术?区别是什么
2016/04/26 面试题
Java里面如何把一个Array数组转换成Collection, List
2013/07/26 面试题
当文件系统受到破坏时,如何检查和修复系统?
2012/03/09 面试题
解除劳动合同协议书范本
2014/04/14 职场文书
生活部的活动方案
2014/08/19 职场文书
2016年5月份红领巾广播稿
2015/12/21 职场文书
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏