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判断变量的函数
Apr 24 PHP
php最简单的删除目录与文件实现方法
Nov 28 PHP
php静态文件生成类实例分析
Jan 03 PHP
编写PHP脚本过滤用户上传的图片
Jul 03 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
Jan 18 PHP
php compact 通过变量创建数组
Nov 15 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
PHP封装的验证码工具类定义与用法示例
Aug 22 PHP
如何优雅的使用 laravel 的 validator验证方法
Nov 11 PHP
PHP实现浏览器格式化显示XML的方法示例
Jan 22 PHP
PHP树形结构tree类用法示例
Feb 01 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获取网络上文件
2006/10/09 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
PHP 模拟登陆功能实例详解
2019/09/10 PHP
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
文本有关的样式和jQuery求对象的高宽问题分别说明
2013/08/30 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
String.prototype实现的一些javascript函数介绍
2013/11/22 Javascript
基于jQuery实现表单提交验证
2014/11/24 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
jQuery检测某个元素是否存在代码分享
2015/07/09 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
BACKBONE.JS 简单入门范例
2017/10/17 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
vue 页面跳转的实现方式
2021/01/12 Vue.js
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python 的列表遍历删除实现代码
2020/04/12 Python
使用pandas对两个dataframe进行join的实例
2018/06/08 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
pandas DataFrame的修改方法(值、列、索引)
2019/08/02 Python
Python 异常处理Ⅳ过程图解
2019/10/18 Python
python利用faker库批量生成测试数据
2020/10/15 Python
matplotlib绘制多子图共享鼠标光标的方法示例
2021/01/08 Python
捷克玩具商店:Bambule
2019/02/23 全球购物
酒店值班经理的工作职责范本
2014/02/18 职场文书
车辆工程专业求职信
2014/06/14 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
详解SpringBoot异常处理流程及原理
2021/06/21 Java/Android