Các lớp Model là các PHP class thừa kế từ lớp Model cơ sở của Hiphop framework, được thiết kế với mục đích chính là xử lý các thông tin trong database. Ví dụ, để quản lý một Blog, bạn cần có một lớp model chứa các hàm làm các nhiệm vụ như: thêm, sửa, xóa hoặc đọc các dữ liệu bài viết.
class Blog_model extends Model { function __construct() { parent::__construct(); } function getTenEntries() {
$query = $this->db->query('SECLECT * FROM entry LIMIT 10, 0'); return $query->result_array();
}
function insertEntry() {
$this->db->query(“INSERT INTO entry VALUE {$_POST['title']}”s); }
}
Các model được đặt trong thư mục application/model/. Có thể đặt vào các thư mục con trong của application/model/. Nguyên mẫu cơ bản của một lớp Model:
function __construct() {
parent::__construct(); }
}
Tên file chứa class này có dạng: model_name.php, trùng với tên class Model. Chú ý rằng, tên của class Model bắt buộc phải viết hoa chữ cái đầu tiên.
Các class Model được nạp và gọi từ các phương thức trong lớp Controller. Để làm được điều này, trong phương thức của Controller phải có hàm:
$this->load->model('Sub_folder/Model_name', 'name_object');
Tham số thứ hai định nghĩa tên của đối tượng được khởi tạo từ class Model_name. Nếu không có tham số thứ 2, tên của đối tượng này sẽ được Hiphop framework đặt trùng với tên của class Model. Chúng ta có thể truy cập tới các phương thức của lớp Model một cách dễ dàng sau khi đã load Model:
$this->load->model('Model_name', 'name'); $this->name->functionInModel();
Dưới đây là ví dụ về một lớp controller, lấy dữ liệu từ Model và truyền vào View class Blog extends Controller {
function index() {
$this->load->model('Blog_model');
$this->data['entries'] = $this->Blog_model->getNewsEntries(); $this->template = 'blog_view';
$this->render(TRUE); }
CHƯƠNG 4: HỆ THỐNG CÁC LỚP THƯ VIỆN VÀ HÀM HỖ TRỢ - LIBRARY & HELPER
Hệ thống lớp thư viện và hàm hỗ trợ trong Hiphop giúp các lập trình viên thao tác trong việc xây dựng ứng dụng của mình nhanh và hiệu quả hơn. Chương này giới thiệu đầy đủ các lớp thư viện (library) và các hàm trợ giúp trong Hiphop cũng như cách thức sử dụng chúng trong quá trình xây dựng ứng dụng.