Libraries

优质
小牛编辑
145浏览
2023-12-01

CodeIgniter框架的基本部分是它的库。 它提供了丰富的库,间接地提高了开发应用程序的速度。 系统库位于系统/库中。 我们需要做的就是加载我们想要使用的库。 可以加载库,如下所示 -

$this->load->library('class name');

其中class name是我们要加载的库的名称。 如果我们想加载多个库,那么我们可以简单地将一个数组作为参数传递给library()函数,如下所示 -

$this->load->library(array('email', 'table'));

图书馆课程

库类位于system/libraries 。 每个类都有各种功能来简化开发工作。 下表显示了库类的名称及其描述。

SN图书馆类和描述
1

Benchmarking Class

基准测试类始终处于活动状态,可以计算任意两个标记点之间的时间差。

2

Caching Class

这个类将缓存页面,以快速访问页面速度。

3

Calendaring Class

使用此类,您可以动态创建日历。

4

Shopping Cart Class

使用此类,您可以在购物车中添加或删除项目。 这些项目保存在会话中,并将保持活动状态,直到用户浏览该站点。

5

Config Class

可以使用此类检索配置首选项。 该类自动初始化。

6

Email Class

此类提供与电子邮件相关的功能,如发送或回复电子邮件。

7

Encryption Class

此类提供双向数据加密功能。

8

File Uploading Class

此类提供与文件上载相关的功能。 您可以设置各种首选项,例如要上载的文件类型,文件大小等。

9

Form Validation Class

此类提供各种函数来验证表单。

10

FTP Class

此类提供各种FTP相关功能,如传输文件以删除服务器,移动,重命名或删除服务器上的文件。

11

Image Manipulation Class

可以在此课程的帮助下完成图像的操作,如调整大小,缩略图创建,裁剪,旋转,水印。

12

Input Class

出于安全原因,此类预处理输入数据。

13

Language Class

该类用于国际化。

14

Loader Class

此类加载视图文件,驱动程序,助手,模型等元素。

15

Migrations Class

此类提供与数据库迁移相关的功能。

16

Output Class

此类将输出发送到浏览器,并缓存该网页。

17

Pagination Class

此类为网页添加分页功能。

18

Template Parser Class

模板分析器类可以对视图文件中包含的伪变量执行简单的文本替换。 它可以解析简单变量或变量标签对。

19

Security Class

该类包含与安全相关的功能,如XSS过滤,CSRF等。

20

Session Library

此类提供维护应用程序会话的功能。

21

HTML Table

此类用于从数组或数据库结果自动生成HTML表。

22

Trackback Class

Trackback类提供的功能使您可以发送和接收Trackback数据。

23

Typography Class

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

24

Unit Testing Class

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

25

URI Class

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

26

User Agent Class

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

27

XML-RPC and XML-RPC Server Classes

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

28

Zip Encoding Class

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

创建库

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

  • 创建新库
  • 扩展本机库
  • Replace the native library

创建新库

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

  • 文件名必须以大写字母开头,例如Mylibrary.php
  • 类名必须以大写字母开头,例如Mylibrary类
  • 类的名称和文件名必须匹配。

Mylibrary.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
   class Mylibrary {
      public function some_function() {
      }
   }
/* End of file Mylibrary.php */

Loading the Custom Library

只需在控制器中执行以下行即可加载上述库。

$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 class ,请使用如下所示的代码。 使用Email.php保存文件名,并为Email.php提供类名。

Email.php

Class CI_Email { 
}