03 YiiViewLayoutController

You might also like

You are on page 1of 4

Controller, View và Layout trong Yii 2 Framework

Khi mới tạo project Yii, trong thư mục project ta sẽ thấy có 2 thư mục tên là controllers và views

assets/ Chứa file asset gọi đến thư viện css và js

commands/ Chứa các lệnh console (chưa cần quan tâm)

config/ Chứa các file cấu hình Yii

controllers/ Chứa các file Controller

mail/ Chứa các file mail (chưa cần quan tâm)

models/ Chứa các file Model

runtime/ Chứa các file log thực thi (chưa cần quan tâm)

tests/ Chứa các file để test (chưa cần quan tâm)

vendor/ Chứa các file thư viện của Yii (chưa cần động đến)

views/ Chứa các file view hiển thị

web/ Chứa các file script (css,js,xml...) và ảnh

 Vì Yii framework được xây dựng dựa theo mô hình MVC nên tất nhiên để làm việc với nó thì phải
hiểu về MVC. Ở bài viết này sẽ không đề cập đến khái niệm mô hình MVC nên nếu ai chưa biết về nó
thì...đây là link:

http://thietkeweb9999.com/blogs/thiet-ke-website/1476-khai-niem-mo-hinh-mvc-trong-php

Ở trong Yii2, Controller đóng vai trò trung gian giữa Model và View. Controller sẽ tương tác với Model
để xử lý dữ liệu rồi đẩy về View để hiển thị với người dùng. Trong project Yii vừa tạo, vào thư mục
controllers ta tạo 1 file php tên là HelloYiiController.php. Mở file này ra ta sẽ thấy như sau

<?php

namespace app\controllers;

use Yii;

use yii\web\Controller;

class HelloYiiController extends Controller

{
    public function actionIndex()

    {

        $message = "Hello Yii2";

        return $this->render('index', ['message' => $message]);

    } 

?>

 Trong đó tên controller sẽ được đặt theo quy tắc sau : <ControllerName>Controller. Tên controller
phải được viết hoa chữ đầu của mỗi từ, không chứa ký tự đặc biệt. Nói chung là theo quy tắc đặt tên
hàm PHP. Ví dụ : SinhVienController và được extends từ class Controller của Yii.

Tiếp đến ta có 1 action là actionIndex. Quy tắc đặt tên của action là action<ActionName>. Tên action
cũng theo quy tắc như controller. Trong index ta tạo một biến $message truyền vào một chuỗi "Hello
Yii2". Sau đó ta tiến hành đẩy dữ liệu ra view tên là index bằng lệnh

$this->render('index', ['message' => $message])

Tiếp đến ta vào thư mục views nằm ngang hàng với thư mục controllers, ta tạo 1 folder tên hello-yii.
Tên của folder được đặt theo tên của controller vừa tạo. Vào thư mục hello-yii, ta tạo 1 file php tên
là index.php. (Tên file php được đặt theo tên action). Mở file index.php và viết như sau:

<div>

    <h1><?=$message ?></h1>

</div>

Ok giờ chạy theo đường dẫn http://study-yii2/hello-yii/index


Xong. Phần tiếp theo sẽ là xây dựng model thao tác với cơ sở dữ liệu.

You might also like