CodeIgniter - Thư viện

Phần thiết yếu của khung CodeIgniter là các thư viện của nó. Nó cung cấp một bộ thư viện phong phú, gián tiếp làm tăng tốc độ phát triển một ứng dụng. Thư viện hệ thống được đặt tại hệ thống / các thư viện. Tất cả những gì chúng ta cần làm là tải thư viện mà chúng ta muốn sử dụng. Thư viện có thể được tải như hình dưới đây -

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

Ở đâu class namelà tên của thư viện mà chúng tôi muốn tải. Nếu chúng ta muốn tải nhiều thư viện, thì chúng ta có thể chỉ cần chuyển một mảng làm đối số cholibrary() chức năng như hình dưới đây -

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

Các lớp thư viện

Các lớp thư viện nằm ở system/libraries. Mỗi lớp có các chức năng khác nhau để đơn giản hóa công việc đang phát triển. Bảng sau hiển thị tên của lớp thư viện và mô tả của nó.

SN Lớp Thư viện & Mô tả
1

Benchmarking Class

Lớp đo điểm chuẩn luôn hoạt động, cho phép tính chênh lệch thời gian giữa hai điểm đã đánh dấu bất kỳ.

2

Caching Class

Lớp này sẽ cache các trang, để tốc độ truy xuất trang nhanh chóng.

3

Calendaring Class

Sử dụng lớp này, bạn có thể tự động tạo lịch.

4

Shopping Cart Class

Sử dụng lớp này, bạn có thể thêm hoặc bớt mặt hàng khỏi Giỏ hàng. Các mục được lưu trong phiên và sẽ vẫn hoạt động cho đến khi người dùng duyệt trang web.

5

Config Class

Các tùy chọn cấu hình có thể được truy xuất bằng cách sử dụng lớp này. Lớp này được khởi tạo tự động.

6

Email Class

Lớp này cung cấp chức năng liên quan đến email, như gửi hoặc trả lời email.

7

Encryption Class

Lớp này cung cấp chức năng mã hóa dữ liệu hai chiều.

số 8

File Uploading Class

Lớp này cung cấp các chức năng liên quan đến tải tệp lên. Bạn có thể đặt các tùy chọn khác nhau như loại tệp được tải lên, kích thước của tệp, v.v.

9

Form Validation Class

Lớp này cung cấp các chức năng khác nhau để xác thực biểu mẫu.

10

FTP Class

Lớp này cung cấp các chức năng khác nhau liên quan đến FTP như truyền tệp để xóa máy chủ, di chuyển, đổi tên hoặc xóa tệp trên máy chủ.

11

Image Manipulation Class

Các thao tác trên hình ảnh như thay đổi kích thước, tạo hình thu nhỏ, cắt xén, xoay, đánh dấu nước có thể được thực hiện với sự trợ giúp của lớp này.

12

Input Class

Lớp này xử lý trước dữ liệu đầu vào vì lý do bảo mật.

13

Language Class

Lớp này được sử dụng để quốc tế hóa.

14

Loader Class

Lớp này tải các phần tử như Xem tệp, Trình điều khiển, Trình trợ giúp, Mô hình, v.v.

15

Migrations Class

Lớp này cung cấp các chức năng liên quan đến việc di chuyển cơ sở dữ liệu.

16

Output Class

Lớp này gửi kết quả đến trình duyệt và đồng thời, lưu vào bộ nhớ cache của trang web đó.

17

Pagination Class

Lớp này thêm các chức năng phân trang cho trang web.

18

Template Parser Class

Lớp phân tích mẫu có thể thực hiện thay thế văn bản đơn giản cho các biến giả có trong tệp dạng xem của bạn. Nó có thể phân tích cú pháp các biến đơn giản hoặc các cặp thẻ biến.

19

Security Class

Lớp này chứa các chức năng liên quan đến bảo mật như Lọc XSS, CSRF, v.v.

20

Session Library

Lớp này cung cấp các chức năng để duy trì phiên của ứng dụng của bạn.

21

HTML Table

Lớp này được sử dụng để tự động tạo bảng HTML từ kết quả mảng hoặc cơ sở dữ liệu.

22

Trackback Class

Lớp Trackback cung cấp các chức năng cho phép bạn gửi và nhận dữ liệu Trackback.

23

Typography Class

Lớp Kiểu chữ cung cấp các phương pháp giúp định dạng văn bản.

24

Unit Testing Class

Lớp này cung cấp các chức năng để kiểm tra đơn vị ứng dụng của bạn và tạo ra kết quả.

25

URI Class

Lớp URI cung cấp các phương thức giúp bạn truy xuất thông tin từ các chuỗi URI của mình. Nếu bạn sử dụng định tuyến URI, bạn cũng có thể truy xuất thông tin về các phân đoạn được định tuyến lại.

26

User Agent Class

Lớp tác nhân người dùng cung cấp các chức năng giúp xác định thông tin về trình duyệt, thiết bị di động hoặc rô bốt đang truy cập trang web của bạn. Ngoài ra, bạn có thể nhận thông tin liên kết giới thiệu cũng như ngôn ngữ và thông tin bộ ký tự được hỗ trợ.

27

XML-RPC and XML-RPC Server Classes

Các lớp XML-RPC của CodeIgniter cho phép bạn gửi yêu cầu đến một máy chủ khác hoặc thiết lập máy chủ XML-RPC của riêng bạn để nhận yêu cầu.

28

Zip Encoding Class

Lớp này được sử dụng để tạo các kho lưu trữ zip dữ liệu của bạn.

Tạo thư viện

CodeIgniter có bộ thư viện phong phú mà bạn có thể tìm thấy trong system/libraries nhưng CodeIgniter không chỉ giới hạn ở thư viện hệ thống, bạn cũng có thể tạo thư viện của riêng mình, có thể được lưu trữ trong application/librariesthư mục. Bạn có thể tạo thư viện theo ba cách.

  • Tạo thư viện mới
  • Mở rộng thư viện gốc
  • Thay thế thư viện gốc

Tạo thư viện mới

Trong khi tạo thư viện mới, người ta cần lưu ý những điều sau:

  • Tên của tệp phải bắt đầu bằng chữ hoa, ví dụ Mylibrary.php
  • Tên lớp phải bắt đầu bằng chữ in hoa, ví dụ như lớp Mylibrary
  • Tên của lớp và tên của tệp phải khớp nhau.

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

Thư viện trên có thể được tải bằng cách thực hiện dòng sau trong bộ điều khiển của bạn.

$this->load->library(‘mylibrary’);

mylibrary là tên thư viện của bạn và bạn có thể viết nó bằng chữ thường cũng như chữ hoa. Sử dụng tên của thư viện không có phần mở rộng “.php”. Sau khi tải thư viện, bạn cũng có thể gọi hàm của lớp đó như hình bên dưới.

$this->mylibrary->some_function();

Mở rộng Thư viện Gốc

Đôi khi, bạn có thể cần thêm chức năng của riêng mình vào thư viện do CodeIgniter cung cấp. CodeIgniter cung cấp tiện ích mà bạn có thể mở rộng thư viện gốc và thêm các chức năng của riêng mình. Để đạt được điều này, bạn phải mở rộng lớp thư viện gốc. Ví dụ, nếu bạn muốn mở rộng thư viện Email thì có thể thực hiện như hình dưới đây:

Class MY_Email extends CI_Email { 
}

Ở đây, trong ví dụ trên, lớp MY_Email đang mở rộng lớp email CI_Email của thư viện gốc. Thư viện này có thể được tải bằng cách tải thư viện email tiêu chuẩn. Lưu đoạn mã trên vào tệp My_Email.php

Thay thế Thư viện Gốc

Trong một số tình huống, bạn không muốn sử dụng thư viện gốc theo cách nó hoạt động và muốn thay thế nó bằng cách của riêng bạn. Điều này có thể được thực hiện bằng cách thay thế thư viện gốc. Để đạt được điều này, bạn chỉ cần đặt tên lớp giống như tên của nó trong thư viện gốc. Ví dụ: nếu bạn muốn thay thếEmail class, sau đó sử dụng mã như hình dưới đây. Lưu tên tệp của bạn vớiEmail.php và đặt tên lớp cho CI_Email.

Email.php

Class CI_Email { 
}