/ / Codeigniter / Comment (0)

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 (Model, Controller, View) 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ụ:

$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:

$this->load->helper(‘ten_helper');

Hoặc các bạn có thể load nhiều helper theo dạng mảng:

$this->load->helper(array(‘arr1','arr2’));

– Ví dụ:

$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ụ:

$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:

$this->load->library(‘ten_library');

Hoặc các bạn có thể load nhiều library theo dạng mảng:

$this->load->library(array(‘arr1','arr2’));

– Ví dụ:

$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 :

$this->ten_thu_vien->phuong_thuc

Ví dụ:
Tạo 1 thư viện captcha.php (trong application/libraries)với nội dung:

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:

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:

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



05/09/2014
Written by nobitacnt

Trong bài viết không tránh khỏi những câu từ chưa chính xác,mong nhận được sự góp ý để website hoàn thiện hơn.Nếu thấy bài viết có ích với bạn hãy like và share để ủng hộ nhé :D.

Bài viết chùng chuyên mục

Gửi bình luận

Giới thiệu

Mình tạo ra blog này với mong muốn chia sẻ và học hỏi kinh nghiệm trong quá trình thiết kế website. Website đang trong quá trình phát triển chân thành cảm ơn mọi sự góp ý của các bạn để làm cho website ngày càng hoàn thiên.

DMCA.com Protection Status
Theo dõi qua Email

Tổng hợp các bài viết về

Hoc php - CodeIgniter Framework - Laravel Framework - PHP va MYSQL