【转】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的区别: 编译 ...
随机推荐
- Android Studio 导入外部lib文件
Android Studio 导入外部lib文件 1.将jar包放入Module里的lib文件夹中.(自己创建lib文件夹) 2.在project选中jar包点击右键"Add as li ...
- Web测试Selenium:如何选取元素
Web测试工具Selenium:如何选取元素 2009-02-17 23:23 by 敏捷的水, 5372 阅读, 22 评论, 收藏, 编辑 selenium是一个非常棒的Web测试工具,他对Aja ...
- mvc-2事件监听
现代浏览器都支持的事件 click dbclick mouseover mousemove mouseout focus blur change(表单输入框特有) submit(表单特有) addEv ...
- ember.js:使用笔记8 加载测试与集成测试
emberjs使用的测试工具为qunit.js: 加载:将runner.js添加到Index.html:大致内容: if (window.location.search.indexOf("? ...
- JavaScript有哪些延迟加载的方式?
defer和async,动态创建DOM方式(用得最多),按需异步载入js.
- [Cocos2d-x For WP8]EaseActions缓动动作
我们用Silverlight框架开发WP8的应用程序的时,编写动画可以使用缓动效果来实现缓动动画对吧,那么在Cocos2d-x框架里面我们一样是可以缓动动作(缓动动画),其实技术的东西都是想通的,如果 ...
- SecureCrt脚本(三)二级对象之Screen详解
Crt自动化 测试 SecureCrt脚本 JS脚本 1.引言 2.Screen属性和方法 2.1.属性 2.1.1.CurrentColumn 2.1.2.CurrentRow 2.1.3.Co ...
- java向图片上写字,两个图片合并的方法
package writeimg; import javax.imageio.ImageIO; import java.awt.Color; import java.awt.Font; import ...
- ztree学习之异步加载节点(一)
ztreedemo.jsp: <%@ page language="java" import="java.util.*" pageEncoding=&qu ...
- Swift Internal Parameter and External Parameter 外部参数和内部参数
今天跟大神又学习了些关于IOS开发Swift语言的外部参数和内部参数 func doSomething(num1: Int, num2: Int) -> Int { return num1 + ...