Bài lần trước, mình và các bạn đã cùng nhau tìm hiểu về Cấu trúc đường dẫn và Controller trong Phalcon Framework.  Hôm nay, mình sẽ tiếp tục tìm hiểu về View trong Phalcon Framework.

Lớp giao diện View trong Phalcon Framework là phần quan trọng và không thể thiếu trong ứng dụng Phalcon, có thể nói một ứng dụng tốt không chỉ ở các xử lý mà nó còn ở cả yếu tố giao diện người dùng rất nhiều nữa.
Nếu các bạn đã làm việc với CakePHP thì có lẽ phần này là phần mà các bạn không phải lo lắng vì Phalcon có quy ước mối liên hệ giữa Controller và View rất giống với CakePHP.

1.  Quy ước đặt tên View trong Phalcon Framework.

Phalcon quy ước mỗi Controller sẽ có tương ứng một thư mục chứa các file view, mỗi thư mục đó sẽ chứa một hoặc file view tương ứng với số phương thức (số hàm) trong controller.Tên các file view sẽ có đuôi là .phtml
Ví dụ: Bạn tạo 1 Controller có tên là Example và trong đó có các phương thức là  test1Action và test2Action thì Phalcon sẽ ngâm hiểu có một folder tên là example và trong Folder đó sẽ chứa 1 file view là test1.phtml và test2.phtml. Tất nhiên việc có hay không là không bắt buộc vì nó sẽ tìm đến view, nếu không có thì nó sẽ bỏ qua và chỉ thực thi những gì có trong thân của phương thức.
Controller:

Views:
Ở đây Phalcon hỗ trợ chúng ta 2 kiểu extension là .phtml và .volt, ở đây mình sẽ chỉ giới thiệu các bạn về .phtml, còn sâu hơn thì mình sẽ cùng nhau tìm hiểu sau nhé.Các bạn tạo 2 file có tên giống với tên function trong controller để nó có thể tự động gọi đến nhau :

view trong phalcon framework

 

Ok, và bây giờ các bạn tiến hành chỉnh sửa nội dung ở 2 file view như sau:
test1.phtml

test2.phtml

Và bây giờ các bạn chạy vào Controller và các Action tương ứng với project của bạn.
Ví dụ của mình sẽ là :

Kết quả tương ứng sẽ như sau :

action test1

action test 2
Ok rồi đó , dù không có bất cứ một dòng lệnh nào chỉ định cho action view của nó nhưng nó vẫn tự tim đến file view thích hợp em Phalcon quy ước trước đó.
Trường hợp bạn không muốn nó tìm đến view hoặc tắt file view đó đi thì các bạn thêm vào dưới cùng của hàm dòng lệnh sau :

2. Truyền dữ liệu từ Controller sang View với Phalcon Framework

Vậy bây giờ làm thể nào để truyền dữ liệu từ Controller sang View? Đơn giản lắm, ở đây Phalcon cung cấp cho chùng ta 2 các  truyền dữ liệu từ Controller sang view với cú pháp

Cách 1

Cách 2

Cả hai cách trên đều  đơn giản và các bạn có thể sử dụng bất cứ cách nào các bạn thấy đơn giản và dễ nhớ.
Ứng dụng chút nhé :
Mình sẽ thử truyền từ test1Action() trong ExampleController sang view test1.phtml, thông thường thì chúng ta cần chuyền biến giá trị hoặc là một mảng dữ liệu sang view đúng không, đơn giản thôi truyền nhiều thì các bạn chỉ cần thực hiện nhiều lần lệnh $this->view->key=$value;
Ở đây các bạn chú ý nhé, mỗi key truyền sang phải có nghĩa và không được trùng nhau tránh trường hợp ghi đè giá trị ông nọ cắm cằm bà kia nhé.
Mình sẽ tiến hành truyền một giá trị title và một mảng thông tin sang view xem thế nào:

Sau khi truyền các giá trị qua các key thì ở bên view tương ứng là view test1.phtml các bạn sẽ hiện nó ra ngoài hoặc xử lý theo mục đích của bạn nhé.

Các bạn chạy lại tới test1Action nhé, giờ thì các bạn đã hiểu rồi đó !
Mình xin dừng bài viết về View trong Phalcon Framework tại đây, hẹn gặp vào bài tìm hiểu về Model trong Phalcon Framework sau nhé, mình sẽ cố gắng để các bạn có cái nhìn trực quan và dễ hiểu nhất !

Gửi bình luận bằng Facebook

Bài viết liên quan: