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 { 
}
广告