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 類提供允許您傳送和接收 Trackback 資料的函式。

23

排版類

排版類提供有助於格式化文字的方法。

24

單元測試類

此類提供對應用程式進行單元測試並生成結果的功能。

25

URI 類

URI 類提供幫助您從 URI 字串中檢索資訊的方法。如果您使用 URI 路由,您還可以檢索有關重定向段的資訊。

26

使用者代理類

使用者代理類提供幫助識別訪問您網站的瀏覽器、移動裝置或機器人的資訊的函式。此外,您還可以獲取推薦者資訊以及語言和受支援字元集資訊。

27

XML-RPC 和 XML-RPC 伺服器類

CodeIgniter 的 XML-RPC 類允許您向另一個伺服器傳送請求,或設定您自己的 XML-RPC 伺服器以接收請求。

28

Zip 編碼類

此類用於建立資料的 zip 存檔。

建立庫

CodeIgniter 有一套豐富的庫,您可以在system/libraries資料夾中找到它們,但 CodeIgniter 不僅限於系統庫,您也可以建立自己的庫,這些庫可以儲存在application/libraries資料夾中。您可以透過三種方式建立庫。

  • 建立新庫
  • 擴充套件原生庫
  • 替換原生庫

建立新庫

建立新庫時,應記住以下幾點:

  • 檔名必須以大寫字母開頭,例如 Mylibrary.php
  • 類名必須以大寫字母開頭,例如 class 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 提供了一種機制,您可以透過它擴充套件原生庫並新增您自己的函式。為此,您必須擴充套件原生庫類的類。例如,如果您想擴充套件 Email 庫,則可以按如下所示進行:

Class MY_Email extends CI_Email { 
}

在上面的示例中,MY_Email 類擴充套件了原生庫的郵件類 CI_Email。此庫可以透過標準的載入郵件庫的方式載入。將以上程式碼儲存在 My_Email.php 檔案中。

替換原生庫

在某些情況下,您不想按原樣使用原生庫,而是想用自己的方式替換它。這可以透過替換原生庫來完成。為此,您只需使用與原生庫中相同的類名即可。例如,如果您想替換Email 類,則使用如下所示的程式碼。將您的檔名儲存為Email.php,並將類名設定為CI_Email

Email.php

Class CI_Email { 
}
廣告