【转】CodeIgniter定义自己的Helper和Helper的方法
最近做程序,采用了PHP+CodeIgniter框架,总体来说这框架很轻而且上手也很快的。
首先,说下如何定义自己的Helper,个人理解helper其实就是定义函数方法。
如果要建个全新的自己的Helper,只要到application/helpers中创建一个php文件,命名是有要求的,helpername_helper.php,定义名字时后缀必须跟上_helper。
比如,你想建个名为goheaven的helper,那文件的名字就是goheaven_helper.php。引用的话也很简单,$this->load->helper('goheaven'),然后就可以随意使用helper中的函数方法了。
如果要扩展CodeIgniter中原先就存在的helper的话,比如你想扩展array,命名就要用MY_array_helper.php,这样当你再引用array的helper时,就会自动调用你定义的array了。
其中MY_前缀,其实可以根据自己的喜好来修改,到config.php中找到$config['subclass_prefix'] = 'MY_'修改下就可以了。
再来说下如何定义自己的Library,个人理解Library其实就是定义Class。
如果要建个全新的自己的Helper,只要到application/libraries中创建一个php文件,命名是有要求的,Libraryname.php,首字母必须大写。比如,你想建个名为goheaven的library,那文件的名字就是Goheaven.php。Class的名字必须与文件名的Goheaven相一致。引用的话也很简单,$this->load->libraries('goheaven')。
如果要扩展CodeIgniter中原先就存在的Library的话,比如你想扩展email,命名就要用MY_Email.php,这样当你再引用email的library时,就会自动调用你定义的email了。Class的名字应该为class MY_Email extends CI_Email。
如果想要Helper和Library自动调用的话,到application/config/autoload.php中添加。
还有一个重点要说下,如果在自定义的Helper和Library中要引用CodeIgniter的方法和类的话,首先,$CI =& get_instance();相当于平时的$this,$CI->load->helper('url')=$this->load->helper('url');
其实还有一个是Core Class,其实和Library同一个道理,就不再进一步说明了
【转】CodeIgniter定义自己的Helper和Helper的方法的更多相关文章
- Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 httplib模块 django和web服务器整合 wsgi模块 gunicorn模块
Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 ...
- 实验四 (1):定义一个形状类(Shape)方法:计算周长,计算面积
(1)定义一个形状类(Shape)方法:计算周长,计算面积子类:矩形类(Rectangle) :额外的方法:differ() 计算长宽差圆形类(Circle)三角形类(Triangle)正方形类(Sq ...
- Codeigniter MongoDB扩展之使用Aggregate实现Sum方法
本篇文章由:http://xinpure.com/codeigniter-mongodb-extension-using-aggregate-sum-method/ Codeigniter Mongo ...
- MVC学习笔记----@Helper标签(HelperMethod方法)和HtmlExtesion扩展
1,HtmlHelper扩展 http://www.cnblogs.com/willick/p/3428413.html http://www.cnblogs.com/zengdingding/p/5 ...
- CodeIgniter 定义“全局变量-global variable”,可以在所有controller,model和view中使用
本文抄自http://www.cnblogs.com/webu/archive/2012/11/20/2779999.html 第一次正儿八经用CodeIgniter框架做项目,结果不会定义全局变量, ...
- ContentProvider官方教程(9)定义一个provider完整示例:实现方法,定义权限等
Creating a Content Provider In this document Designing Data Storage Designing Content URIs Implement ...
- java在类定义时对hashset的便捷初始化方法
有时候我们在类成员定义时,当这个类成员类型为 HashSet时,我们可以不方便调用 add函数进行初始化,所以可以采用下面的便捷方式来进行初始化 public class MyTest{ final ...
- 走进C++程序世界-------类的定义和使用(数据成员和方法成员,析构函数,构造函数,内联实现)
类的成员简介 在C++中,可以通过声明一个类来穿件一种新的类型.类将一组变量(他们的类型通常不同)和一组相关的函数组合在一起.类可以有各种类型的变量组成,还可以包含其他类对象.成员变量称为数据成员它们 ...
- iOS开发之--宏定义与const的区别及使用方法
宏定义的常见用法: 定义一段代码,或指定字符串抽成宏. const(常量): 当有字符串常量的时候,苹果推荐我们使用const,苹果经常把常用的字符串定义成const 宏定义与const的区别: 编译 ...
随机推荐
- hdu 5753 Permutation Bo
这里是一个比较简单的问题:考虑每个数对和的贡献.先考虑数列两端的值,两端的摆放的值总计有2种,比如左端:0,大,小:0,小,大:有1/2的贡献度.右端同理. 中间的书总计有6种可能.小,中,大.其中有 ...
- RequiredFieldValidator 控件 CompareValidator 控件
RequiredFieldValidator 控件 验证关联控件非空 ControlToValidate 属性用来关联被验证控件 ErrorMEssage 触发控件后显示的错误信息 CompareVa ...
- Ajax 学习之动态获取,返回服务器的值
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- css构造文本
1. 1. 文本缩进text-indent:值:值为数字,最常用的数值单位是px(像素),也可以直接是百分比!text-indent:100px;text-indent:10%;2. 文本对齐text ...
- ural 1219. Symbolic Sequence
1219. Symbolic Sequence Time limit: 1.0 secondMemory limit: 64 MB Your program is to output a sequen ...
- CentOS6.4 安装LVS-RRD监控LVS
1.安装依赖包 yum install -y php httpd bc rrdtool 启动apache (我看网上的一些文档说不能用80端口,但我用80端口试了一下也好使,如果出现不好使的情况就改一 ...
- 【BZOJ】3319: 黑白树(并查集+特殊的技巧/-树链剖分+线段树)
http://www.lydsy.com/JudgeOnline/problem.php?id=3319 以为是模板题就复习了下hld............................. 然后n ...
- WebRTC手记Channel概念
转载请注明出处:http://www.cnblogs.com/fangkm/p/4401075.html 前面两篇博文完整地介绍了WebRTC音视频的采集模块,接下来应该开始介绍关键的音视频编码模块. ...
- oracle系列--第一篇 数据库基础
第一章 数据库基础 1.1 数据管理概述 1.1.1 什么是数据管理 与我们人类相比,计算机的最大优势就是能够高速.精准地运行,其运行的过程就是执行程序代码和操作指令.处理数据的过程.可以说,数据处理 ...
- Android环境搭建要点
1.JDK环境变量配置 在环境变量的path变量中加入jdk安装目录的bin路径字符串(C:\Program Files\Java\jdk1.8.0\bin). 配置好后,在命令提示符界面输入&quo ...