CodeIgniter - 库
CodeIgniter 框架的核心部分是其库。它提供了一组丰富的库,间接提高了开发应用程序的速度。系统库位于 system/libraries。我们需要做的就是加载我们想要使用的库。可以按如下所示加载库 −
$this->load->library('class name');
其中 class name 是我们要加载的库的名称。如果我们想要加载多个库,那么我们可以简单地将一个数组作为参数传递给 library() 函数,如下所示 −
$this->load->library(array('email', 'table'));
库类
库类位于system/libraries。每个类都有各种功能来简化开发工作。下表显示了库类的名称及其描述。
S.N. | 库类和描述 |
---|---|
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 | Typography 类 Typography 类提供帮助格式化文本的方法。 |
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() { } } /* Mylibrary.php 文件结束 */
加载自定义库
只需在控制器中执行以下行即可加载上述库。
$this->load->library('mylibrary');
mylibrary 是库的名称,您可以用小写字母或大写字母书写。使用不带".php"扩展名的库名称。加载库后,您还可以调用该类的函数,如下所示。
$this->mylibrary->some_function();
扩展本机库
有时,您可能需要向 CodeIgniter 提供的库添加自己的功能。 CodeIgniter 提供了扩展本机库并添加自己的函数的功能。要实现这一点,您必须扩展本机库类的类。例如,如果您想扩展电子邮件库,则可以按如下所示进行操作 −
Class MY_Email extends CI_Email { }
在上面的示例中,MY_Email 类扩展了本机库的电子邮件类 CI_Email。可以通过加载电子邮件库的标准方式加载此库。将上述代码保存在文件 My_Email.php 中
替换本机库
在某些情况下,您不想以本机库的工作方式使用它,而想用自己的方式替换它。这可以通过替换本机库来实现。要实现这一点,您只需提供与本机库中相同的类名。例如,如果您想要替换 Email 类,则使用如下所示的代码。将文件名保存为 Email.php,并将类名命名为 CI_Email。
Email.php
Class CI_Email { }