- CodeIgniter 教程
- CodeIgniter - 首页
- CodeIgniter - 概述
- CodeIgniter - 安装 CodeIgniter
- CodeIgniter - 应用架构
- CodeIgniter - MVC 框架
- CodeIgniter - 基本概念
- CodeIgniter - 配置
- CodeIgniter - 数据库操作
- CodeIgniter - 库
- CodeIgniter - 错误处理
- CodeIgniter - 文件上传
- CodeIgniter - 发送邮件
- CodeIgniter - 表单验证
- CodeIgniter - 会话管理
- CodeIgniter - Flash 数据
- CodeIgniter - Temp 数据
- CodeIgniter - Cookie 管理
- CodeIgniter - 常用函数
- CodeIgniter - 页面缓存
- CodeIgniter - 页面重定向
- CodeIgniter - 应用性能分析
- CodeIgniter - 基准测试
- CodeIgniter - 添加 JS 和 CSS
- CodeIgniter - 国际化
- CodeIgniter - 安全性
- CodeIgniter 有用资源
- CodeIgniter - 快速指南
- CodeIgniter - 有用资源
- CodeIgniter - 讨论
CodeIgniter - 库
CodeIgniter 框架的重要组成部分是它的库。它提供了一套丰富的库,间接地提高了应用程序的开发速度。系统库位于 system/libraries 目录下。我们只需要加载想要使用的库即可。库的加载方式如下:
$this->load->library('class name');
其中类名是想要加载的库的名称。如果要加载多个库,可以简单地将数组作为参数传递给library()函数,如下所示:
$this->load->library(array('email', 'table'));
库类
库类位于system/libraries目录下。每个类都有各种函数来简化开发工作。下表显示了库类的名称及其描述。
序号 | 库类及描述 |
---|---|
1 | 基准测试类 基准测试类始终处于活动状态,可以计算任何两个标记点之间的时间差。 |
2 | 缓存类 此类将缓存页面,以快速访问页面速度。 |
3 | 日历类 使用此类,您可以动态创建日历。 |
4 | 购物车类 使用此类,您可以向购物车添加或删除商品。商品保存在会话中,并在用户浏览网站时保持活动状态。 |
5 | 配置类 可以使用此类检索配置首选项。此类会自动初始化。 |
6 | 邮件类 此类提供与邮件相关的功能,例如发送或回复邮件。 |
7 | 加密类 此类提供双向数据加密功能。 |
8 | 文件上传类 此类提供与文件上传相关的功能。您可以设置各种首选项,例如要上传的文件类型、文件大小等。 |
9 | 表单验证类 此类提供各种表单验证函数。 |
10 | FTP 类 此类提供各种与 FTP 相关的函数,例如将文件传输到远程服务器、在服务器上移动、重命名或删除文件。 |
11 | 图像处理类 可以使用此类进行图像处理,例如调整大小、创建缩略图、裁剪、旋转、添加水印。 |
12 | 输入类 出于安全原因,此类会预处理输入数据。 |
13 | 语言类 此类用于国际化。 |
14 | 加载类 此类加载视图文件、驱动程序、辅助函数、模型等元素。 |
15 | 迁移类 此类提供与数据库迁移相关的功能。 |
16 | 输出类 此类将输出发送到浏览器,并缓存该网页。 |
17 | 分页类 此类为网页添加分页功能。 |
18 | 模板解析器类 模板解析器类可以对视图文件中包含的伪变量执行简单的文本替换。它可以解析简单的变量或变量标签对。 |
19 | 安全类 此类包含与安全性相关的函数,例如 XSS 过滤、CSRF 等。 |
20 | 会话库 此类提供维护应用程序会话的功能。 |
21 | HTML 表格 此类用于根据数组或数据库结果自动生成 HTML 表格。 |
22 | Trackback 类 Trackback 类提供允许您发送和接收 Trackback 数据的函数。 |
23 | 排版类 排版类提供有助于格式化文本的方法。 |
24 | 单元测试类 此类提供对应用程序进行单元测试并生成结果的功能。 |
25 | URI 类 URI 类提供帮助您从 URI 字符串中检索信息的方法。如果您使用 URI 路由,您还可以检索有关重定向段的信息。 |
26 | 用户代理类 用户代理类提供帮助识别访问您网站的浏览器、移动设备或机器人的信息的函数。此外,您还可以获取推荐者信息以及语言和受支持字符集信息。 |
27 | XML-RPC 和 XML-RPC 服务器类 CodeIgniter 的 XML-RPC 类允许您向另一个服务器发送请求,或设置您自己的 XML-RPC 服务器以接收请求。 |
28 | Zip 编码类 此类用于创建数据的 zip 存档。 |
创建库
CodeIgniter 有一套丰富的库,您可以在system/libraries文件夹中找到它们,但 CodeIgniter 不仅限于系统库,您也可以创建自己的库,这些库可以存储在application/libraries文件夹中。您可以通过三种方式创建库。
- 创建新库
- 扩展原生库
- 替换原生库
创建新库
创建新库时,应记住以下几点:
- 文件名必须以大写字母开头,例如 Mylibrary.php
- 类名必须以大写字母开头,例如 class Mylibrary
- 类名和文件名必须匹配。
Mylibrary.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Mylibrary { public function some_function() { } } /* End of file Mylibrary.php */
加载自定义库
可以通过在控制器中执行以下行来加载上述库。
$this->load->library(‘mylibrary’);
mylibrary 是您的库的名称,您可以使用小写字母或大写字母编写它。使用库名称,无需“.php”扩展名。加载库后,还可以调用该类的函数,如下所示。
$this->mylibrary->some_function();
扩展原生库
有时,您可能需要向 CodeIgniter 提供的库中添加您自己的功能。CodeIgniter 提供了一种机制,您可以通过它扩展原生库并添加您自己的函数。为此,您必须扩展原生库类的类。例如,如果您想扩展 Email 库,则可以按如下所示进行:
Class MY_Email extends CI_Email { }
在上面的示例中,MY_Email 类扩展了原生库的邮件类 CI_Email。此库可以通过标准的加载邮件库的方式加载。将以上代码保存在 My_Email.php 文件中。
替换原生库
在某些情况下,您不想按原样使用原生库,而是想用自己的方式替换它。这可以通过替换原生库来完成。为此,您只需使用与原生库中相同的类名即可。例如,如果您想替换Email 类,则使用如下所示的代码。将您的文件名保存为Email.php,并将类名设置为CI_Email。
Email.php
Class CI_Email { }