14/12/16

Helpers và Libraries trong CodeIgniter

Qua những bài trước mình đã giới thiệu cho các bạn về mô hình MVC (ModelControllerView) trong CodeIgniter,hôm nay mình sẽ giới thiệu cho các bạn có cái nhìn tổng quan về helper và library trong CodeIgniter.

Helper trong CodeIgniter

– Các bạn có thể hiểu helper chỉ là các hàm được xây dựng để sử dụng trong khi lập trình.
– Trong CodeIgniter có rất nhiều các helper hữu ích và hay sử dụng,ví dụ: url, language, date…
– Ngoài ra các bạn có thể tự tạo ra các helper để phục vụ cho mục đích nào đó
– Để tự động load 1 helper nào đó các bạn có thể vào application/config/autoload.php và tìm tới dòng $autoload[‘helper’] để có thể khai báo các helper tự động được load ra.Theo mình thì các helper mà các bạn sử dụng nhiều nhất thì chúng ta lên để trong đây
Ví dụ:
1
$autoload['helper'] = array('url''date''language');

Cách tạo 1 helper

– Để tao 1 helper các bạn vào application/helpers để tạo với tên file dạng:
ten_helper.php
+ Khi tạo 1 file helper thì tên file bắt buộc phải có _helper đằng sau
+ Nội dung trong helper là các hàm được xây

Cách load 1 helper

– Để có thể load 1 helper nào đó vào dự án ta sử dụng:
1
$this->load->helper(‘ten_helper');
Hoặc các bạn có thể load nhiều helper theo dạng mảng:
1
$this->load->helper(array(‘arr1','arr2’));
– Ví dụ:
1
$this->load->helper(array(‘url','date’,'’form'));

Library trong CodeIgniter

– Đây chính là nơi chứa các thư viện,thư viện đó chính là các class được xây dựng
– Trong CodeIgniter có rất nhiều thư viện hữu ích và hay được sử dụng,ví du: database, session,cart,validation..
– Ngoài ra các bạn có thể tự tạo ra các thư viện để phục vụ cho mục đích nào đó
– Để tự động load 1 thư viện nào đó các bạn có thể vào application/config/autoload.php và tìm tới dòng $autoload[‘libraries’] để có thể khai báo các library tự động được load ra.Theo mình thì các library mà các bạn sử dụng nhiều nhất thì chúng ta lên để trong đây
Ví dụ:
1
$autoload['libraries'] = array('session''database');

Cách tạo 1 library

– Để tao 1 library các bạn vào application/libraries để tạo với tên file giống với tên class.
+ Khi tạo 1 file library thì tên file viết thường và tên class viết hoa chữ cái đầu tiên
+ Nội dung trong library là class và các phương thức trong class.

Cách load 1 library

– Để có thể load 1 library nào đó vào dự án ta sử dụng:
1
$this->load->library(‘ten_library');
Hoặc các bạn có thể load nhiều library theo dạng mảng:
1
$this->load->library(array(‘arr1','arr2’));
– Ví dụ:
1
$this->load->library(array('session''database'));
– Sử dụng phương thức trong thư viện:
Để sử dụng 1 phương thức trong thư viện ta sử dụng :
1
$this->ten_thu_vien->phuong_thuc
Ví dụ:
Tạo 1 thư viện captcha.php (trong application/libraries)với nội dung:
1
2
3
4
5
6
class Captcha_library {
    function create_image()
    {
        //code here
    }
}
Tại controller User các bạn sử dụng thư viện này như sau:
1
2
3
4
5
6
7
8
9
class User extends CI_Controller {
      public function index()
      {
          //load library
          $this->load->library("captcha");
          //su dung phuong thuc create_image trong thư viện captcha
          $create_image $this->captcha->create_image();
      }
}
Chú ý: Khi các bạn sử dụng thư viện, helper ,model view… bên trong controller các bạn chỉ cần sử dụng $this->load->… nhưng khi các bạn sử dụng ngay bên trong helper hoặc library thì chúng ta không thể sử dụng $this được mà chúng ta cần khởi tạo dạng siêu đối tượng mới bằng cách sử dụng & get_instance()
Ví dụ:
Tạo 1 thư viện captcha.php (trong application/libraries)với nội dung:
1
2
3
4
5
6
7
8
9
10
11
12
class Captcha_library {
        var $CI '';
    function __construct()
    {
        $this->CI =& get_instance();
    }
    function create_image()
    {
        //code here
            $this->CI->load->helper('url');
    }
}
Như vậy các bạn thấy chúng ta không thể gọi trực tiếp $this->load->helper(‘url’); được mà khi sử dụng trong library hoặc helper thì các bạn cần khởi tạo & get_instance();
Kết thúc bài viết: Qua bài này mình đã giới thiệu cái nhìn tổng quan về helper và library trong CodeIgniter,các bạn có thể tự xây dựng 1 helper hoặc 1 library riêng nhằm đáp ứng những nhu cầu nào đó.Ngoài ra các bạn cần tìm hiểu thêm chức năng của các thư viện cũng như helper trong CodeIgniter.Sang bài sau mình sẽ hướng dẫn các bạn validate form dữ liệu sử dụng thư viện Form Validatiton trong CodeIgniter
- See more at: http://hocphp.info/helpers-va-libraries-trong-codeigniter/#sthash.8pOzTfVY.dpuf
Bạn đang đọc bài viết Helpers và Libraries trong CodeIgniter tại Website: Học Lập Trình

0 nhận xét: