Cấu Trúc Yii Framework (Phần 2)

Như đã đề cập trước đây, Yii là một MVC Framework và có cấu trúc tuần tự cho mỗi phần của Model, View, và Controller điều này giúp tăng khả năng tái sử dụng code dễ dàng bảo trì cũng như nâng cấp sau này mà không ảnh hưởng nhiều đến hệ thống hiện tại. Trước khi bắt đầu xây dựng ứng dụng Yii đầu tiên, chúng ta cần phải xác định cấu trúc chính của Yii, và xem làm thế nào thực hiện và thực thi kiến trúc MVC.

Các bạn có thể tham khảo Yii Framework phần 1 tại đây: http://www.cuasotinhoc.vn/article/178-gioi-thieu-yii-framework-phan-1

Sơ đồ dưới đây cho thấy các cấu trúc tĩnh của 1 ứng dụng Yii:

 

Sơ đồ dưới đây cho thấy công việc cụ thể của 1 ứng dụng Yii khi nó được xử lý bởi yêu cầu người dùng:

Model

Thông thường trong kiến trúc MVC, Model là phần rất quan trọng trong cả dự án, nó có quan hệ mật thiết với cơ sở dữ liệu.

Yii có 2 loại model: form model là lớp ( CFormModel ) và active record model là lớp    ( CActiveRecord ). Cả hai được mở rộng từ lớp ( CModel ). CFormModel đại diện cho mô hình dữ liệu do người dùng nhập vào ở dạng HTML. Sau đó lưu dữ liệu này vào bộ nhớ và thông qua CActiveRecord dữ liệu được lưu vào CSDL.

ActiveRecord (AR) là một mô hình được sử dụng để truy cập cơ sở dữ liệu theo hướng đối tượng. Mỗi đối tượng AR trong Yii là một thể hiện của CActiveRecord là kết quả của 1 dòng dữ liệu của bảng được tạo trong CSDL.

View

Thông thường, View là giao diện của người dùng, dựa trên các dữ liệu trong Model.

View chính là PHP bao gồm chủ yếu là các yếu tố của giao diện. Nó có thể chứa câu lệnh PHP nhưng nó được khuyến cáo không nên thay đổi mô hình dữ liệu nên vẫn còn tương đối đơn giản. Các câu lệnh PHP trong View thường có các điều kiện và vòng lặp rất đơn giản, và được hỗ trợ bởi các phương thức HTML và Widget là lớp có thể tái sử dụng nhiều lần.

Controller

Controller là một thể hiện của CController. Nó được tạo ra bởi các ứng dụng khi người dùng yêu cầu. Controller là thiết bị điều khiển chính cho các yêu cầu từ người sử dụng, và nó sẽ tương tác với cơ sở dữ liệu. Một lớp trong Controller có tên bắt đầu là “action”. Khi tạo mới một ứng dụng Yii thì mặc định trong Controller là có lớp actionIndex, actionContact.

Code dưới đây nó định nghĩa 1 SiteController gồm 1 index action và 1 contact action:

class SiteController extends CController
{
 public function actionIndex()
 {
 // ...
 }
 
 public function actionContact()
 {
 // ...
 }
}

Phần tiếp theo: http://www.cuasotinhoc.vn/article/207-cau-truc-yii-framework-phan-3

Phạm Bình.

Nguồn www.yiiframework.com



Our Sponsor

BMW 320i * BMW 520i * BMW 720i