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 提供了一种简单的错误处理机制。 您希望在应用程序处于开发模式而不是生产模式 ...