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