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 数据的函数。

23

排版课

Typography 类提供了有助于格式化文本的方法。

24

单元测试类

此类提供对应用程序进行单元测试并生成结果的功能。

25

URI 类

URI 类提供了帮助您从 URI 字符串检索信息的方法。如果您使用 URI 路由,您还可以检索有关重新路由的段的信息。

26

用户代理类

用户代理类提供的功能可帮助识别有关访问您网站的浏览器、移动设备或机器人的信息。此外,您还可以获得引荐来源网址信息以及语言和支持的字符集信息。

27

XML-RPC 和 XML-RPC 服务器类

CodeIgniter 的 XML-RPC 类允许您将请求发送到另一台服务器,或设置您自己的 XML-RPC 服务器来接收请求。

28

邮政编码类

此类用于创建数据的 zip 存档。

创建库

CodeIgniter 拥有丰富的库,您可以在system/libraries文件夹中找到它们,但 CodeIgniter 不仅限于系统库,您也可以创建自己的库,这些库可以存储在application/libraries文件夹中。您可以通过三种方式创建库。

  • 创建新库
  • 扩展原生库
  • 替换原生库

创建新库

在创建新库时,应记住以下事项 -

  • 文件名必须以大写字母开头,例如 Mylibrary.php
  • 类名必须以大写字母开头,例如 class 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 提供了一些工具,您可以通过它扩展本机库并添加您自己的函数。要实现此目的,您必须扩展本机库类的类。例如,如果您想扩展电子邮件库,则可以按如下所示完成:

Class MY_Email extends CI_Email { 
}

在上面的示例中,MY_Email 类扩展了本机库的电子邮件类 CI_Email。该库可以通过加载电子邮件库的标准方式来加载。将以上代码保存在文件 My_Email.php 中

替换本机库

在某些情况下,您不想按照本机库的工作方式使用它,而是希望用您自己的方式替换它。这可以通过替换本机库来完成。要实现此目的,您只需提供与本机库中命名的类名相同的类名即可。例如,如果您想替换Email 类,则使用如下所示的代码。使用Email.php保存文件名,并将类名指定为CI_Email

电子邮件.php

Class CI_Email { 
}