CodeIgniter 库

 

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

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

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

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

 

图书馆类

库类位于 系统/库。每个类都有各种功能来简化开发工作。下表显示了库类的名称及其说明。

库类和描述

Benchmarking Class

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

Caching Class

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

Calendaring Class

使用这个类,你可以动态创建日历。

Shopping Cart Class

使用该类,您可以在购物车中添加或移除商品。这些项目保存在会话中,并在用户浏览网站之前保持​​活动状态。

Config Class

使用此类可以检索配置首选项。这个类是自动初始化的。

Email Class

该类提供电子邮件相关功能,例如发送或回复电子邮件。

Encryption Class

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

File Uploading Class

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

Form Validation Class

该类提供了各种表单验证功能。

FTP Class

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

Image Manipulation Class

图像的操作,如调整大小、缩略图创建、裁剪、旋转、水印等都可以在这个类的帮助下完成。

Input Class

这个类出于安全原因对输入数据进行预处理。

Language Class

这个类用于国际化。

Loader Class

这个类加载视图文件、驱动程序、助手、模型等元素

Migrations Class

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

Output Class

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

Pagination Class

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

Template Parser Class

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

Security Class

该类包含XSS过滤、CSRF等安全相关功能

Session Library

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

HTML Table

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

Trackback 类

Trackback 类提供使您能够发送和接收 Trackback 数据的函数。

Typography Class

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

Unit Testing Class

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

URI Class

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

User Agent Class

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

XML-RPC and XML-RPC Server Classes

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

Zip Encoding Class

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

 

创建库

CodeIgniter 拥有丰富的库集,您可以在 system/libraries 文件夹中找到这些库,但 CodeIgniter 不仅限于系统库,您还可以创建自己的库,这些库可以存储在 system/libraries 文件夹中b>应用程序/库 文件夹。您可以通过三种方式创建库。

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

 

创建新库

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

  • 文件名必须以大写字母开头,例如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 */

加载自定义库

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

$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 { 
}

  很多时候,在使用应用程序时,我们会遇到错误。如果错误处理不当,对用户来说是非常烦人的。 CodeIgniter 提供了一种简单的错误处理机制。 您希望在应用程序处于开发模式而不是生产模式 ...