CodeIgniter核心类,库类阅读
作者:烨竹
目录结构
先介绍目录结构上面箭头没有指向的文件
compat兼容性函数所在文件夹
具体见:兼容性函数
CodeIgniter.php框架核心文件
作用参见下图:
common.php
具体见公共函数
controller.php
控制器父类
看源码,里面就两个功能
实现CI可以作为一个大超级对象运行
实现get_instance
Exceptions.php
错误处理类
hooks.php
钩子类
log.php
日志处理类
model.php
模型父类
Driver.php
库类驱动文件
profiler.php
类似debug的调试工具
用法:Profiler类将显示基准测试结果
下面通篇引用:http://codeigniter.org.cn/user_guide/libraries/index.html
Benchmark.php 基准测试类(程序分析)
一直都是启用状态的基准测试类,用于计算两个标记点之间的时间差
日历类
使用日历类可以让你动态的创建日历,并且可以使用日历模板来格式化显示你的日历
作用用法
日历类
cache 缓存驱动器类
可选 PHP 缓存(APC)
基于文件的缓存
Memcached 缓存
WinCache 缓存
Redis 缓存
配置类
配置类用于获取配置参数,这些参数可以来自于默认的配置文件(application/config/config.php), 也可以来自你自定义的配置文件
email类
用法:
发送 Email
加密类(新版)
绝不要使用这个类或其他任何加密类来进行密码处理!密码应该是被 哈希 ,你应该使用 PHP 自带的 密码哈希扩展 。
加密类提供了双向数据加密的方式,为了实现密码学意义上的安全,它使用了一些并非在所有系统上都可用的 PHP 的扩展, 要使用这个类,你的系统上必须安装了下面的扩展:
OpenSSL
MCrypt (要支持 MCRYPT_DEV_URANDOM)
只要有一点不满足,我们就无法为你提供足够高的安全性
使用:
对数据进行加密与解密
文件上传类
CodeIgniter 的文件上传类用于上传文件,你可以设置参数限制上传文件的类型和大小
上传一个文件通常涉及以下几步:
显示一个上传表单,用户选择文件并上传。
当提交表单时,文件将被上传到你指定的目录。
同时,根据你设置的参数对文件进行校验是否允许上传。
上传成功后,向用户显示成功消息。
用法:## 参考指南
初始化文件上传类
参数设置
参数
在配置文件中设置参数
表单验证
CodeIgniter 提供了一个全面的表单验证和数据预处理类可以帮你少写很多代码
操作用法
表单验证指南
表单
成功页面
控制器
试一下!
解释
设置验证规则
使用数组来设置验证规则
级联规则(Cascading Rules)
预处理数据
重新填充表单
回调:你自己的验证函数
使用任何可调用的方法作为验证规则
设置错误信息
翻译表单域名称
更改错误定界符
单独显示错误
验证数组(除 $_POST 数组)
将一系列验证规则保存到一个配置文件
如何保存你的规则
创建规则集
调用某组验证规则
将控制器方法和规则集关联在一起
FTP类
CodeIgniter 的 FTP 类允许你传输文件到远程服务器,也可以对远程文件进行移动、重命名或删除操作。 FTP 类还提供了一个 "镜像" 功能,允许你将你本地的一个目录通过 FTP 整个的同步到远程服务器上
图像处理类
CodeIgniter 的图像处理类可以使你完成以下的操作:
调整图像大小
创建缩略图
图像裁剪
图像旋转
添加图像水印
可以很好的支持三个主流的图像库:GD/GD2、NetPBM 和 ImageMagick
输入类
输入类有两个用途:
为了安全性,对输入数据进行预处理
提供了一些辅助方法来获取输入数据并处理
用法:
对输入进行过滤
安全性过滤
XSS 过滤
访问表单数据
使用 POST、GET、COOKIE 和 SERVER 数据
使用 php://input 流
加载器类
加载器,顾名思义,是用于加载元素的,加载的元素可以是库(类),视图文件 , 驱动器 ,辅助函数 , 模型 或其他你自己的文件
迁移类
迁移是一种非常方便的途径来组织和管理你的数据库变更,当你编写了一小段 SQL 对数据库做了修改之后,你就需要告诉其他的开发者他们也需要运行这段 SQL , 而且当你将应用程序部署到生产环境时,你还需要记得对数据库已经做了哪些修改, 需要执行哪些 SQL
配置文件: application/config/migration.php
输出类
输出类是个核心类,它的功能只有一个:发送 Web 页面内容到请求的浏览器。 如果你开启缓存,它也负责 缓存 你的 Web 页面
这个类由系统自动加载,你无需手工加载
分页类
CodeIgniter 的分页类非常容易使用,而且它 100% 可定制,可以通过动态的参数, 也可以通过保存在配置文件中的参数
用法
自定义分页
添加封装标签
自定义第一个链接
自定义最后一个链接
自定义下一页链接
自定义上一页链接
自定义当前页面链接
自定义数字链接
隐藏数字链接
给链接添加属性
禁用 "rel" 属性
模板解析类
模板解析类可以对你视图文件中的伪变量进行简单的替换,它可以解析简单的变量和变量标签对
用法:
使用模板解析类
安全类
安全类包含了一些方法,用于安全的处理输入数据,帮助你创建一个安全的应用。
Session 类
Session(会话)类可以让你保持一个用户的 "状态" ,并跟踪他在浏览你的网站时的活动。
CodeIgniter 自带了几个存储 session 的驱动:
- 文件(默认的,基于文件系统)
- 数据库
- Redis
- Memcached
用法
使用 Session 类
HTML表格类
表格类提供了一些方法用于根据数据库或数据库结果集自动生成HTML的表格。
用法:
使用表格类
引用通告:
引用通告(trackback)是现在WEB2.0的产物,BLOG成为WEB2.0的关键包括TRACKBACK的功能,在BLOG发表一篇评论的时候,在尾部的引用栏输入对方文章的引用(TRACKBACK)地址,那么你发表完文章后,对方的BLOG就会自动在你所评论的文章的尾部添加了你的引用信息,所显示的信息因程序而不同,基本的要素包括了你评论的标题和你的评论的链接,其他人可以很清楚地看到你的引用,并很方便地点击就可以来看你的文章
用法:
使用引用通告类
排版类
排版类提供帮助您设置文本格式的功能。
用法:
使用排版类
单元测试类
单元测试是一种为你的应用程序中的每个函数编写测试的软件开发方法
CodeIgniter 的单元测试类非常简单,由一个测试方法和两个显示结果的方法组成。 它没打算成为一个完整的测试套件,只是提供一个简单的机制来测试你的代码是否 生成了正确的数据类型和结果。
使用
使用单元测试类库
URI 类
URI 类用于帮助你从 URI 字符串中获取信息,如果你使用 URI 路由, 你也可以从路由后的 URI 中获取信息。
注解
该类由系统自己加载,无需手工加载
用法
类参考
用户代理类
用户代理(User Agent)类提供了一些方法来帮助你识别正在访问你的站点的浏览器、 移动设备或机器人的信息。另外,你还可以通过它获取 referrer 信息,以及 支持的语言和字符集信息。
用法
使用用户代理类
用户代理的名称定义application/config/user_agents.php
XML-RPC 与 XML-RPC 服务器类
CodeIgniter 的 XML-RPC 类允许你向另一个服务器发送请求, 或者建立一个你自己的 XML-RPC 服务器来接受请求
XML-RPC是一种在两台计算机之间使用 XML 通过互联网进行通信的简单方法。 一台计算机 , 我们称之为客户端 , 发送一个 XML-RPC 请求给另外一台计算机, 我们称之为服务器,当服务器收到请求时,对其进行处理然后将结果返回给客户端
用法
使用 XML-RPC 类
Zip编码类
CodeIgniter的Zip编码类允许你创建Zip压缩文档,文档可以被下载到你的桌面或者保存到某个文件夹里。
用法
使用Zip编码类