Header Ads Widget

Sử dụng Help trong CakePHP



Xây dựng một helper giúp coder tiết kiệm được thời gian khi phải thao tác nhiều lần với cùng 1 hàm trên nhiều controller, view. Helper chứa nhiều các hàm có sẵn hỗ trợ như: form, html, ajax, number, session, rss, xml, time….
Sử dụng helper bằng thông qua biến $helpers được khai báo trong controller
<?php
var $helpers = array('Html','Form','Javascript','Ajax');
?>
Các helper có sẵn được tìm thấy trong thư mục: cake/libs/view/helpers
Ví dụ viết helper Common => tên file common.php đặt trong app/views/helpers/
 AppHelper là lớp cơ sở cho mọi Helper .Do do đó, khi tạo ra một Helper mới có thể extends từ AppHelper hoặc từ một Helper nào đó có sẵn của CakePHP.
Tên lớp helper = tên helper + "Helper"
VD: hàm tạo chuỗi không dấu từ một chuỗi.
class CommonHelper extends AppHelper {
var $helpers = array('Html', 'Form', 'Js');
function convertAlias($str,$tolower = false)
{
/*Mảng chứa tất cả ký tự có dấu trong Tiếng Việt*/
$marTViet=array("à","á","ạ","ả","ã","â","ầ","ấ","ậ","ẩ","ẫ","ă",
"ằ","ắ","ặ","ẳ","ẵ","è","é","ẹ","ẻ","ẽ","ê","ề",
"ế","ệ","ể","ễ",
"ì","í","ị","ỉ","ĩ",
"ò","ó","ọ","ỏ","õ","ô","ồ","ố","ộ","ổ","ỗ","ơ",
"ờ","ớ","ợ","ở","ỡ",
"ù","ú","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ",
"ỳ","ý","ỵ","ỷ","ỹ",
"đ",
"À","Á","Ạ","Ả","Ã","Â","Ầ","Ấ","Ậ","Ẩ","Ẫ","Ă",
"Ằ","Ắ","Ặ","Ẳ","Ẵ",
"È","É","Ẹ","Ẻ","Ẽ","Ê","Ề","Ế","Ệ","Ể","Ễ",
"Ì","Í","Ị","Ỉ","Ĩ",
"Ò","Ó","Ọ","Ỏ","Õ","Ô","Ồ","Ố","Ộ","Ổ","Ỗ","Ơ","Ờ","Ớ","Ợ","Ở","Ỡ",
"Ù","Ú","Ụ","Ủ","Ũ","Ư","Ừ","Ứ","Ự","Ử","Ữ",
"Ỳ","Ý","Ỵ","Ỷ","Ỹ",
"Đ"," ");
/*Mảng chứa tất cả ký tự không dấu tương ứng với mảng $marTViet bên trên*/
$marKoDau=array("a","a","a","a","a","a","a","a","a","a","a",
"a","a","a","a","a","a",
"e","e","e","e","e","e","e","e","e","e","e",
"i","i","i","i","i",
"o","o","o","o","o","o","o","o","o","o","o","o",
"o","o","o","o","o",
"u","u","u","u","u","u","u","u","u","u","u",
"y","y","y","y","y",
"d",
"A","A","A","A","A","A","A","A","A","A","A","A",
"A","A","A","A","A",
"E","E","E","E","E","E","E","E","E","E","E",
"I","I","I","I","I",
"O","O","O","O","O","O","O","O","O","O","O","O","O","O","O","O","O",
"U","U","U","U","U","U","U","U","U","U","U",
"Y","Y","Y","Y","Y",
"D","-");
if ($tolower) {
return preg_replace('/[^a-zA-Z0-9-]/','',strtolower(str_replace($marTViet,$marKoDau,$str)));
}
return preg_replace('/[^a-zA-Z0-9-]/','',str_replace($marTViet,$marKoDau,$str));
}
}
Sử dụng lớp Herpler Common vừa mới tạo bằng cách khai báo thêm helper Common trong controller cake -> app_controller.php
var $helpers = array('Html','Form','Text','Javascript','Ajax','Session','Layout','Js','Time','Ajax','Javascript','Common');
Ví dụ gọi helper từ view:
$this->Common->convertAlias('Xin chào');

Nhận xét