Một điểm rất hay của Yii Model

Một điểm rất hay của Yii Model

Hôm nay xem overview của Yii Framework, khám phá ra cách tổ chức validation rules của Yii rất là hay. Tôi hay sử dụng CakePHP và không thỏa mãn với cách thiết lập validation rules của nó:

CakePHP

Model::$validate = array(); # là một biến trong một class. Vì thế rất là bất tiện khi muốn có một validation rule tùy biến tham số được (ví dụ password pattern lấy ra từ configuration, hoặc database). Thông thường sẽ phải viết một hàm callback cho cái rule mới này.

Yii

public function rules() {

return array(

array('title, content, status', 'required'),
array('title', 'length', 'max'=>128),
array('status', 'in', 'range'=>array(1,2,3)), # range này có thể tùy biến được
array('tags', 'match', 'pattern'=>'/^[\w\s,]+$/',
'message'=>'Tags can only contain word characters.'),
array('tags', 'normalizeTags'),
array('title, status', 'safe', 'on'=>'search'),

);

}

Model::rules(); # trả về một mảng các validation rules. Vì vậy rất tiện lợi nếu như chúng ta cần tùy biến tham số từ database.

Một điểm có thể học tập được từ Yii validation rules là cách tổ chức theo nhóm. Bạn thử tưởng tượng bạn đang sử dụng CakePHP để làm điều này? Một table có khoảng 20 fields mà thực hiện validation theo chuẩn CakePHP thì quá oải.

Copied from http://datgs.wordpress.com/2012/01/11/mot-diem-rat-hay-cua-yii-model/

Tags: 
Bạn thấy bài viết này như thế nào?: 
Average: 9 (2 votes)
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Bình luận (0)

 

Add Comment

Filtered HTML

  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Các thẻ HTML được chấp nhận: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Tự động ngắt dòng và đoạn văn.

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Sử dụng Drush để Backup scheme theo plan cho Drupal sites

Sử dụng Drush để Backup scheme theo plan cho Drupal sites

Everyone needs to have a backup plan for their live site. Not only can your server's disk get corrupted, but you can also erroneously overwrite your site with bad code or bad data, or your site can get hacked.

Kindle Fire kéo lợi nhuận của Amazon giảm một nửa

Kindle Fire kéo lợi nhuận của Amazon giảm một nửa

Chính việc Amazon chịu lỗ khoảng 50 USD cho mỗi máy tính bảng Kindle Fire được bán ra là nguyên nhân khiến lãi suất trong quý IV/2011 giảm đến 58%.

Facebook đang phát triển tính năng gửi ảnh dưới dạng bưu thiếp

Facebook đang phát triển tính năng gửi ảnh dưới dạng bưu thiếp

Facebook đang thử nghiệm một tính năng cho phép người dùng chuyển các bức ảnh từ Facebook ra các tấm bưu thiếp để gửi cho bạn bè.

Công ty diệt chuột T&C

 

Diet con trung