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 相关文章推荐
生成静态页面的PHP类
Jul 15 PHP
将PHP作为Shell脚本语言使用
Oct 09 PHP
如何在PHP中使用Oracle数据库(1)
Oct 09 PHP
为IP查询添加GOOGLE地图功能的代码
Aug 08 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十二)
Jun 25 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
Mar 18 PHP
PHP自动补全表单的两种方法
Mar 06 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
关于laravel框架中的常用目录路径函数
Oct 23 PHP
laravel使用数据库测试注意事项
Apr 10 PHP
PHP哈希表实现算法原理解析
Dec 11 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
php反弹shell实现代码
2009/04/22 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
这段js代码得节约你多少时间
2011/12/20 Javascript
JQuery的read函数与js的onload不同方式实现
2013/03/18 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
Bootstrap输入框组件简单实现代码
2017/03/06 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
Vue实现动态创建和删除数据的方法
2018/03/17 Javascript
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
Vue程序调试的方法
2019/06/17 Javascript
layui 动态设置checbox 选中状态的例子
2019/09/02 Javascript
javascript设计模式 ? 解释器模式原理与用法实例分析
2020/04/17 Javascript
Python中map,reduce,filter和sorted函数的使用方法
2015/08/17 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
Eclipse面试题
2014/03/22 面试题
定义一结构体数组表示分数,并求两个分数相加之和
2013/06/11 面试题
linux下进程间通信的方式
2014/12/23 面试题
学校经典推荐信
2013/10/30 职场文书
大学生的网络创业计划书
2013/12/26 职场文书
校外活动方案
2014/08/28 职场文书
实习单位指导教师评语
2014/12/30 职场文书
安徽导游词
2015/02/12 职场文书
2015年办公室文秘工作总结
2015/04/30 职场文书
2015年环保局工作总结
2015/05/22 职场文书
北京青年观后感
2015/06/15 职场文书
校运会宣传稿大全
2015/07/23 职场文书
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python
Mysql效率优化定位较低sql的两种方式
2021/05/26 MySQL
Vue中插槽slot的使用方法与应用场景详析
2021/06/08 Vue.js
详解MongoDB的条件查询和排序
2021/06/23 MongoDB