最近做程序,采用了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的方法的更多相关文章

  1. Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 httplib模块 django和web服务器整合 wsgi模块 gunicorn模块

    Python第十三天   django 1.6   导入模板   定义数据模型   访问数据库   GET和POST方法    SimpleCMDB项目   urllib模块   urllib2模块 ...

  2. 实验四 (1):定义一个形状类(Shape)方法:计算周长,计算面积

    (1)定义一个形状类(Shape)方法:计算周长,计算面积子类:矩形类(Rectangle) :额外的方法:differ() 计算长宽差圆形类(Circle)三角形类(Triangle)正方形类(Sq ...

  3. Codeigniter MongoDB扩展之使用Aggregate实现Sum方法

    本篇文章由:http://xinpure.com/codeigniter-mongodb-extension-using-aggregate-sum-method/ Codeigniter Mongo ...

  4. MVC学习笔记----@Helper标签(HelperMethod方法)和HtmlExtesion扩展

    1,HtmlHelper扩展 http://www.cnblogs.com/willick/p/3428413.html http://www.cnblogs.com/zengdingding/p/5 ...

  5. CodeIgniter 定义“全局变量-global variable”,可以在所有controller,model和view中使用

    本文抄自http://www.cnblogs.com/webu/archive/2012/11/20/2779999.html 第一次正儿八经用CodeIgniter框架做项目,结果不会定义全局变量, ...

  6. ContentProvider官方教程(9)定义一个provider完整示例:实现方法,定义权限等

    Creating a Content Provider In this document Designing Data Storage Designing Content URIs Implement ...

  7. java在类定义时对hashset的便捷初始化方法

    有时候我们在类成员定义时,当这个类成员类型为 HashSet时,我们可以不方便调用 add函数进行初始化,所以可以采用下面的便捷方式来进行初始化 public class MyTest{ final ...

  8. 走进C++程序世界-------类的定义和使用(数据成员和方法成员,析构函数,构造函数,内联实现)

    类的成员简介 在C++中,可以通过声明一个类来穿件一种新的类型.类将一组变量(他们的类型通常不同)和一组相关的函数组合在一起.类可以有各种类型的变量组成,还可以包含其他类对象.成员变量称为数据成员它们 ...

  9. iOS开发之--宏定义与const的区别及使用方法

    宏定义的常见用法: 定义一段代码,或指定字符串抽成宏. const(常量): 当有字符串常量的时候,苹果推荐我们使用const,苹果经常把常用的字符串定义成const 宏定义与const的区别: 编译 ...

随机推荐

  1. 程序员的恶性循环:加班->没空学习->老是写同等水平代码->无法提升代码质量->老是出BUG->老是需要修改->加班->...

    程序员的恶性循环:加班->没空学习->老是写同等水平代码->无法提升代码质量->老是出BUG->老是需要修改->加班->...

  2. C# PropertyGrid控件应用心得

    何处使用 PropertyGrid 控件 在应用程序中的很多地方,您都可以使用户与 PropertyGrid 进行交互,从而获得更丰富的编辑体验.例如,某个应用程序包含多个用户可以设置的“设置”或选项 ...

  3. C# Remoting的一个简单例子

    .Net对于远程调用提供了两种方法:Remoting和WebService.WebService现在是如火如荼,特别是有一种比较流行的架构:Winform+WebService(Java..Net), ...

  4. AppleWatch开发教程之调试程序使用帮助文档

    AppleWatch开发教程之调试程序使用帮助文档 AppleWatch开发教程之调试程序 调试又被称为排错,是发现和减少程序错误的一个过程.在Xcode中进行调试的需要实现以下几个步骤: 1.添加断 ...

  5. python 代码片段12

    #coding=utf-8 d={'title':'python web development','year':2008} print d.setdefault('pub','addision we ...

  6. MongoDB的安装与CRUD(JAVA)

    http://blogread.cn/it/article/4348?f=wb (MongoDB) 安装: 1)下载MongoDB数据库(这里使用Windows 32 bit版) http://dow ...

  7. BZOJ1367 [Baltic2004]sequence

    现学的左偏树...这可是道可并堆的好题目. 首先我们考虑z不减的情况: 我们发现对于一个区间[l, r],里面是递增的,则对于此区间最优解为z[i] = t[i]: 如果里面是递减的,z[l] = z ...

  8. Mina工具类v1.5

    package com.cucpay.fundswap.util; import java.net.InetSocketAddress; import java.nio.charset.Charset ...

  9. Log4j日志级别

    日志记录器(Logger)是日志处理的核心组件.log4j具有5种正常级别(Level). 日志记录器(Logger)的可用级别Level (不包括自定义级别 Level), 以下内容就是摘自log4 ...

  10. PHP + Redis 实现一个简单的twitter

    原文位于Redis官网http://redis.io/topics/twitter-clone Redis是NoSQL数据库中一个知名数据库,在新浪微博中亦有部署,适合固定数据量的热数据的访问. 作为 ...