- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Codeigniter helpers bao gồm nhiều hàm mà bạn có thể cần sử dụng trong website codeigniter. Mặc định codeigniter có hơn 20 helpers, các hàm sử lý chuỗi URL, email, form, làm việc với file..
Bất cứ lúc nào bạn muốn thêm hàm vào view (nhưng mình không khuyến khích), thì bạn có thể sử dụng helpers hoặc thêm mới hàm của riêng bạn vào helper của codeigniter. Ví dụ, định dạng ngày tháng trực tiếp trong view có thể làm code rối rắm gây nhàm chán và bạn có thể bị lặp lại code ở những file khác.
Mở rộng tính năng Codeigniter helpers
Cách làm tương tự như controllers và models. Đầu tiên tạo file ‘MY_[name]_helper.php’ tại thư mục application/helpers trong đó ‘name’ là tên của helper. Chẳng hạn mình định tạo thêm các hàm sử lý ngày tháng thì có thể đặt tên file là ‘MY_date_helper.php’. Trong file bạn không cần định nghĩa hay kế thừa lớp chỉ tập hợp các hàm PHP độc lập. Chỉ đơn giản mở tag PHP và bắt đầu viết hàm vào file là xong. Nhớ rằng không được thêm tag đóng PHP có thể gây lỗi cho phần header của web.
<?php function my_first_function($params) { //Your code here } function my_second_function($params) { //Your code here }
Nạp helper mới cũng giống như load các helper thông thường của codeigniter. Để nạp date helper từ controller bạn gọi hàm $this->load->helper('date_helper');
.
Chú ý: chúng ta thường gọi helper từ controller và sử dụng trong model & view.
Sau khi gọi helper bạn có thể sử dụng các hàm được ngay có trong helper, có nghĩa rằng bạn gọi hàm trực tiếp không thông qua đối tượng nào.
Gọi như sau là sai: $this->date_helper->my_function()
.
Tạo Codeigniter Helper
Để tạo helper mới bạn chép đoạn code dưới đây vào một file tên {name}_helper.php vào thư mục application/helpers với {name} là tên helper bạn muốn tạo.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); if (!function_exists('my_first_function')) { function my_first_function($params) { //Your code here } } if (!function_exists('my_second_function')) { function my_second_function($params) { //Your code here } }
Kiểm tra hàm đã tồn tại trước khi tạo để tránh lỗi sẩy ra. Sau khi lưu file bạn cũng load helper bằng cách gọi hàm:
$this->load->helper("my_helper");
Viết hàm helper
Không có gì bàn về cách tạo hàm trong PHP bạn tạo thông thường và sử dụng tối đa codeigniter API để tạo các hàm hữu ích sử dụng trong web của bạn. Bạn có thể load helper khác vào hàm helper mới, để làm điều này bạn không thể sử dụng biến $this
. Có một cách đơn giản là sử dụng biến toàn cục $CI
, ví dụ để nạp file helper và thư viện email:
$CI =& get_instance(); $CI->load->helper(array('file')); $content = read_file('path'); $CI->load->library(array('email')); $CI->email->to('[email protected]'); $CI->email->subject('Sending an email from a helper'); $CI->email->message($content); $CI->email->send();
Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ với bạn bè bằng cách nhấn nút chia sẻ ở bên dưới. Theo dõi chúng tôi trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype