NTM Solutions

Facebook Youtube Google+

Thứ Năm, 29 tháng 11, 2018

Tự học CodeIgniter-Bài 09-Sử dụng CodeIgniter Drivers


#hoccodeigniter


Drivers là 01 thể loại đặc biệt của Thư viện có 01 lớp cha và 01 số bất kỳ các lớp con tiềm năng nào. Các lớp con truy cập vào lớp cha, nhưng không thuộc nhánh con nào. Drivers cung cấp 01 cú pháp tao nhã trong controllers của bạn để truy cập các thư viện từ các yêu cầu  đến các lớp rời rạc.

Các drivers đặt ở thư mục system/libraries/ , bên trong các thư mục con có tên trùng với lớp thư viện cha. Và cũng trong thư mục đó là 01 thư mục con có tên là drivers, thư mục này sẽ chứa tất cả các tập tin lớp con.

Để dùng 01 driver bạn sẽ khởi tạo nó bên trong 01 controller bằng phương thức khởi tạo sau:

$this->load->driver('ten_lop');


Ngay chỗ ten_lop là tên lớp driver bạn muốn gọi. Ví dụ để tải 01 driver tên là  “Some_parent” bạn làm như vầy:

$this->load->driver('some_parent');

Các phương thức của lớp đó có thể được gọi sau đó:

$this->some_parent->ten_phuongthuc();

Các lớp con, hoặc ngay chính các lớp drivers, sau đó có thể gọi trực tiếp thông qua lớp cha mà không cần phải khởi tạo chúng:

$this->some_parent->child_one->some_method();

$this->some_parent->child_two->another_method();

Tạo Drivers

Cấu trúc mẫu thư mục driver và các tập tin đi kèm:

/application/libraries/Ten_driver

·         Ten_driver.php

·         drivers

·         Ten_driver_subclass_1.php

·         Ten_driver_subclass_2.php

·         Ten_driver_subclass_3.php

Ghi chú:

·         Để duy trì sự tương thích hệ thống tên tập tin, thư mục Ten_driver phải theo định dạng trả về bởi hàm ucfirst().

·         Cấu trúc thư mục Driver như vậy có nghĩa là subclasses không mở rộng và do đó không thừa kế các thuộc tính và phương thức của driver chính.



Nếu vẫn chưa rõ các bạn xem thêm video clip sau:




By #tiensim

Nguồn: User Guide – General Topics