CodeIgniter - ไลบรารี

ส่วนสำคัญของเฟรมเวิร์ก CodeIgniter คือไลบรารี มีชุดไลบรารีที่หลากหลายซึ่งช่วยเพิ่มความเร็วในการพัฒนาแอปพลิเคชันทางอ้อม ไลบรารีระบบตั้งอยู่ที่ระบบ / ไลบรารี สิ่งที่เราต้องทำคือโหลดไลบรารีที่เราต้องการใช้ สามารถโหลดไลบรารีได้ตามที่แสดงด้านล่าง -

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

ที่ไหน class nameคือชื่อไลบรารีที่เราต้องการโหลด หากเราต้องการโหลดหลายไลบรารีเราก็สามารถส่งอาร์เรย์เป็นอาร์กิวเมนต์ไปlibrary() ฟังก์ชันดังแสดงด้านล่าง -

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

ชั้นเรียนห้องสมุด

ชั้นเรียนของห้องสมุดตั้งอยู่ใน system/libraries. แต่ละคลาสมีฟังก์ชันต่างๆเพื่อลดความซับซ้อนของงานที่กำลังพัฒนา ตารางต่อไปนี้แสดงชื่อของคลาสไลบรารีและคำอธิบาย

SN คลาสห้องสมุดและคำอธิบาย
1

Benchmarking Class

คลาสการเปรียบเทียบจะทำงานอยู่เสมอทำให้สามารถคำนวณความแตกต่างของเวลาระหว่างจุดที่ทำเครื่องหมายสองจุดได้

2

Caching Class

คลาสนี้จะแคชเพจเพื่อเข้าถึงความเร็วเพจอย่างรวดเร็ว

3

Calendaring Class

เมื่อใช้คลาสนี้คุณสามารถสร้างปฏิทินแบบไดนามิก

4

Shopping Cart Class

เมื่อใช้คลาสนี้คุณสามารถเพิ่มหรือลบรายการออกจากตะกร้าสินค้าได้ รายการจะถูกบันทึกในเซสชันและจะยังคงใช้งานได้จนกว่าผู้ใช้จะเรียกดูไซต์

5

Config Class

การตั้งค่าคอนฟิกสามารถเรียกดูได้โดยใช้คลาสนี้ คลาสนี้เริ่มต้นโดยอัตโนมัติ

6

Email Class

คลาสนี้มีฟังก์ชันที่เกี่ยวข้องกับอีเมลเช่นส่งหรือตอบกลับอีเมล

7

Encryption Class

คลาสนี้มีฟังก์ชันการเข้ารหัสข้อมูลสองทาง

8

File Uploading Class

คลาสนี้มีฟังก์ชันที่เกี่ยวข้องกับการอัพโหลดไฟล์ คุณสามารถตั้งค่าต่างๆเช่นประเภทของไฟล์ที่จะอัพโหลดขนาดของไฟล์เป็นต้น

9

Form Validation Class

คลาสนี้มีฟังก์ชันต่างๆเพื่อตรวจสอบความถูกต้องของฟอร์ม

10

FTP Class

คลาสนี้มีฟังก์ชันต่างๆที่เกี่ยวข้องกับ FTP เช่นการถ่ายโอนไฟล์เพื่อลบเซิร์ฟเวอร์ย้ายเปลี่ยนชื่อหรือลบไฟล์บนเซิร์ฟเวอร์

11

Image Manipulation Class

การจัดการรูปภาพเช่นการปรับขนาดการสร้างภาพขนาดย่อการครอบตัดการหมุนการสร้างลายน้ำสามารถทำได้ด้วยความช่วยเหลือของคลาสนี้

12

Input Class

คลาสนี้ประมวลผลข้อมูลอินพุตล่วงหน้าด้วยเหตุผลด้านความปลอดภัย

13

Language Class

คลาสนี้ใช้สำหรับการทำให้เป็นสากล

14

Loader Class

คลาสนี้โหลดองค์ประกอบต่างๆเช่นดูไฟล์ไดรเวอร์ตัวช่วยโมเดล ฯลฯ

15

Migrations Class

คลาสนี้มีฟังก์ชันที่เกี่ยวข้องกับการย้ายฐานข้อมูล

16

Output Class

คลาสนี้ส่งผลลัพธ์ไปยังเบราว์เซอร์และแคชหน้าเว็บนั้นด้วย

17

Pagination Class

คลาสนี้เพิ่มฟังก์ชันการแบ่งหน้าในหน้าเว็บ

18

Template Parser Class

Template Parser Class สามารถทำการแทนที่ข้อความอย่างง่ายสำหรับตัวแปรหลอกที่อยู่ในไฟล์มุมมองของคุณ สามารถแยกวิเคราะห์ตัวแปรอย่างง่ายหรือคู่แท็กตัวแปร

19

Security Class

คลาสนี้มีฟังก์ชันที่เกี่ยวข้องกับความปลอดภัยเช่น XSS Filtering, CSRF เป็นต้น

20

Session Library

คลาสนี้มีฟังก์ชันเพื่อรักษาเซสชันของแอปพลิเคชันของคุณ

21

HTML Table

คลาสนี้ใช้เพื่อสร้างตาราง HTML โดยอัตโนมัติจากผลลัพธ์ของอาร์เรย์หรือฐานข้อมูล

22

Trackback Class

Trackback Class มีฟังก์ชันที่ช่วยให้คุณสามารถส่งและรับข้อมูล Trackback

23

Typography Class

Typography Class มีวิธีการที่ช่วยในการจัดรูปแบบข้อความ

24

Unit Testing Class

คลาสนี้มีฟังก์ชันสำหรับการทดสอบหน่วยแอปพลิเคชันของคุณและสร้างผลลัพธ์

25

URI Class

URI Class มีวิธีการที่ช่วยให้คุณดึงข้อมูลจากสตริง URI ของคุณ หากคุณใช้การกำหนดเส้นทาง URI คุณยังสามารถดึงข้อมูลเกี่ยวกับเซ็กเมนต์ที่กำหนดเส้นทางใหม่ได้

26

User Agent Class

User Agent Class มีฟังก์ชันที่ช่วยระบุข้อมูลเกี่ยวกับเบราว์เซอร์อุปกรณ์เคลื่อนที่หรือหุ่นยนต์ที่เยี่ยมชมไซต์ของคุณ นอกจากนี้คุณสามารถรับข้อมูลผู้อ้างอิงตลอดจนภาษาและข้อมูลชุดอักขระที่รองรับ

27

XML-RPC and XML-RPC Server Classes

คลาส XML-RPC ของ CodeIgniter อนุญาตให้คุณส่งคำขอไปยังเซิร์ฟเวอร์อื่นหรือตั้งค่าเซิร์ฟเวอร์ XML-RPC ของคุณเองเพื่อรับคำขอ

28

Zip Encoding Class

คลาสนี้ใช้เพื่อสร้างไฟล์ zip ของข้อมูลของคุณ

การสร้างไลบรารี

CodeIgniter มีไลบรารีมากมายซึ่งคุณสามารถค้นหาได้ system/libraries โฟลเดอร์ แต่ CodeIgniter ไม่ได้ จำกัด เพียงแค่ไลบรารีระบบเท่านั้นคุณสามารถสร้างไลบรารีของคุณเองได้เช่นกันซึ่งสามารถเก็บไว้ใน application/librariesโฟลเดอร์ คุณสามารถสร้างไลบรารีได้สามวิธี

  • สร้างห้องสมุดใหม่
  • ขยายไลบรารีดั้งเดิม
  • แทนที่ไลบรารีดั้งเดิม

สร้างห้องสมุดใหม่

ในขณะที่สร้างห้องสมุดใหม่ควรคำนึงถึงสิ่งต่อไปนี้ -

  • ชื่อไฟล์ต้องขึ้นต้นด้วยอักษรตัวใหญ่เช่น 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 */

Loading the Custom Library

คุณสามารถโหลดไลบรารีข้างต้นได้โดยดำเนินการตามบรรทัดต่อไปนี้ในคอนโทรลเลอร์ของคุณ

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

mylibrary เป็นชื่อห้องสมุดของคุณและคุณสามารถเขียนเป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ได้ ใช้ชื่อของไลบรารีที่ไม่มีนามสกุล“ .php” หลังจากโหลดไลบรารีแล้วคุณยังสามารถเรียกใช้ฟังก์ชันของคลาสนั้นได้ตามที่แสดงด้านล่าง

$this->mylibrary->some_function();

ขยาย Native Library

บางครั้งคุณอาจต้องเพิ่มฟังก์ชันการทำงานของคุณเองในไลบรารีที่ CodeIgniter จัดเตรียมไว้ให้ CodeIgniter จัดเตรียมสิ่งอำนวยความสะดวกที่คุณสามารถขยายไลบรารีดั้งเดิมและเพิ่มฟังก์ชันของคุณเองได้ เพื่อให้บรรลุเป้าหมายนี้คุณต้องขยายคลาสของคลาสไลบรารีดั้งเดิม ตัวอย่างเช่นหากคุณต้องการขยายไลบรารีอีเมลก็สามารถทำได้ดังที่แสดงด้านล่าง -

Class MY_Email extends CI_Email { 
}

ในตัวอย่างข้างต้นคลาส MY_Email กำลังขยายคลาสอีเมลของไลบรารีดั้งเดิม CI_Email ไลบรารีนี้สามารถโหลดได้ด้วยวิธีการโหลดไลบรารีอีเมลมาตรฐาน บันทึกรหัสด้านบนในไฟล์ My_Email.php

แทนที่ Native Library

ในบางสถานการณ์คุณไม่ต้องการใช้ไลบรารีเนทีฟในแบบที่มันทำงานและต้องการแทนที่ด้วยวิธีของคุณเอง ซึ่งสามารถทำได้โดยการแทนที่ไลบรารีเนทีฟ เพื่อให้บรรลุเป้าหมายนี้คุณต้องตั้งชื่อคลาสเดียวกันกับชื่อในไลบรารีเนทีฟ ตัวอย่างเช่นหากคุณต้องการแทนที่ไฟล์Email classจากนั้นใช้รหัสตามที่แสดงด้านล่าง บันทึกชื่อไฟล์ของคุณด้วยEmail.php และตั้งชื่อชั้นเรียนให้ CI_Email.

Email.php

Class CI_Email { 
}