Ở bài viết trước mình và các bạn đã cùng tìm hiểu về mô hình MVC trong Phalcon, hôm này thì mình tiếp tục giới thiệu chi tiết với các bạn về cấu trúc URL và Controller trong Phalcon Framework và  liên hệ cấu trúc URL và Controller trong Phalcon Framework

1. Cấu trúc URL trong Phalcon Framework

Nếu các bạn đã từng làm việc với bất cứ Framework PHP nào đó thì vấn đề này thực sự đơn giản vì dường như chúng có quy ước chung khi các Framework áp dụng mô hình MVC.
Chùng ta cùng xem lại cấu trúc thư mục hôm trước nhé
Cấu trúc url và controller trong phalcon framework

Ok rồi, bây giờ chúng ta cùng nhìn lại nhé,  như bài trước mình và các bạn đã cùng nhau làm  việc với controller qua ví dụ “Hello world” thì hôm nay mình xin tìm hiểu kĩ hơn về controller.

Nếu bạn chưa hiểu hay chưa từng nghe tới từ khóa cấu trúc đường dẫn thì mình xin giải thích đơn giản như sau:
Chuyện cấu trúc đường dẫn cũng đơn giản như chuyện bạn đi hỏi vợ sau này vậy, bước đầu tiên bạn phải tìm đến nhà của cô bạn gái, tất nhiên là có thể là nhà cô bạn ấy có anh chị em nữa, bạn sẽ phải vào nhà, rồi trình bày với bố mẹ cô ấy rằng bạn muốn gặp em có tên nào đó, và khi gặp đc em đó thì bạn và cô ấy sẽ trò chuyện hoặc cùng nhau làm việc gì đó…hihi, nói vui thế thôi, ở đây là phương diện ứng dụng web theo mô hình MVC, thành phần quan trọng nhất và quyết định ứng dụng sẽ làm gì chính là Controller, chính vì thể tất cả các thao tác của bạn đều phải thông qua Controller.
Chúng ta sẽ xem qua cấu trúc đường dẫn mà Phalcon Framework đã quy ước như sau:

Ở đây domain của bạn (localhost/phalconKungFu) chính là ngôi nhà trong câu chuyện, cô bạn gải chính là controller và hành động cô gái sẽ làm chính là tên phương thức mà bạn chỉ đến, hành động của cô gái có thể phụ thuộc vào việc bạn có tác động gì không, tác động ở đây chính là tham số bạn sẽ truyền vào, việc truyền tham số có thể có hoặc không tùy vào yêu cầu của bài toán của bạn. Bạn đã hiểu hơn  về đường dẫn chưa…cùng theo dõi tiếp nhé.
Với domain là đường dẫn đến thư mục gốc tới project của bạn, tiếp theo là tên controller, tên phương thức cuối cùng là tham số truyền vào, truyền hợp các bạn có nhiều hơn 1 tham số thì các bạn có thể thêm nhiều dấu “/” hơn:

2. Controller trong Phalcon Framework

Với controller thì ở Phalcon có quy tắc đặt tên file như sau : NameController.php
Tên bạn có thể đặt tên thư thế nào cũng được, nhưng mình khuyên bạn nên đặt  một cái tên có nghĩa và viết hoa chữ cái đầu để tiện cho việc bảo trì hệ sau này.
Ví dụ mình sẽ tạo 1 Controller chuyên về xử lý tin tức, mình sẽ đặt tên file là NewController.php với nội dung như sau:

Chúng ta cùng xây dựng class New với tên giống hệt với tên file nhé, phần này nếu bạn nào chưa làm nhiều với Framework PHP thì chú ý nhé, vì nếu các bạn đặt tên saui nó sẽ báo lỗi ngay đó.
Với đoạn code trên các bạn có thể sử dụng URL theo cấu trúc mình đã nêu trên để sử dụng từng hàm nhé, mặc định nếu các bạn không nhập gì nó sẽ tìm tới phương thức indexAction đầu tiên, ở đây mình không viết hàm index nên các bạn cần chỉ rõ hàm trên đường dẫn nhé.
Ví dụ:

Đến dây với nhớ, các bạn chú ý nhé, với tên Controller thì từ khóa Controller là hậu tố, và với phương thức từ khóa Action là hậu tố đã được quy ước trước, vì thế các bạn chỉ cần nhập tên, không cần nhập hậu tố nhé.

function trong phalcon - Cấu trúc url và controller trong phalcon framework

Đến đây có lẽ các bạn đã hiểu về  cấu trúc đường dẫn và Controller trong Phalcon  rồi chứ.
Còn nữa, các bạn có biết tới hàm construct chứ, định nghĩa hàm tạo có lẽ bạn nào từng học lập trình hướng đối tượng cũng sẽ nhớ, nó là hàm cho phép thiết lập các thuộc tính ban đầu khi nào đối tượng instance của class, hàm tạo sẽ được chạy đầu tiên khi khởi tạo class nhưng Phalcon không có hàm tạo mà nó thay thế bới hai hàm


Các bạn viết thêm hai hàm này để chạy nhé, các bạn nhé nhận thấy hàm onConstruct() sẽ được chạy đầu tiên và sau đó sẽ tới hàm  initialize() dù bạn có chạy phương thức nào nó cũng sẽ chạy 2 hàm này trước.

ham tao trong phalcon - Cấu trúc url và controller trong phalcon framework
Các bạn có cùng kết quả với mình không?
Vậy qua bài ” Tìm hiểu Controller trong Phalcon Framework” chúng ta đã tìm hiểu được những phần cơ bản nhất của một Controller trong Phalcon. Qua đó các bạn thấy rằng xây dựng một Controller hoàn toàn đơn giản và dễ dàng đúng không…
Mình xin kết thúc bài viết ở đây, hẹn gặp lại các bạn ở chủ đề sau nhé…
Gửi bình luận bằng Facebook

Bài viết liên quan: