Bài 02: Xây dựng cấu trúc folder cho ứng dụng phalcon
0
Google +0
0
Đăng bởi: TheHalfHeart - Vào ngày: 27-12-2014 - Chuyên mục: Phalcon - View: 1871
Download
Nếu bạn đã từng tìm hiểu qua các Framework khác thì thông thường khi download source về nó sẽ có hệ thống danh sách các folders theo cấu trúc của nó, chúng ta sẽ tuân theo cấu trúc đó và sử dụng. Nhưng đối với Phalcon thì nó hơi khác, chúng ta có thể tự mình tạo ra cấu trúc folder của ứng dụng riêng cho mình và sau đó sẽ cấu hình cho Phalcon hiểu mô hình chúng ta đang sử dụng.
Bình thường thì bạn sẽ dùng lệnh để tạo danh sách folder luôn nhưng trong bài này chúng ta sẽ tự mình tạo từng folder để dễ nắm bắt hơn.
1. Cấu trúc thông thường của Phalcon
Thông thường cấu trúc của Phalcon khi mới cài đặt và tạo tự động sẽ như sau:
project_name/
/app/
/cache/
/config/
/controllers/
/models/
/views/
/public/
/bootstrap/
/css/
/js/
Các bạn thấy cấu trúc nó không khác gì các Framework hiện nay như Codeigniter, Laravel đó là tuân theo mô hình MVC. Bây giờ các bạn tạo một các file như trên rồi chúng ta sẽ tiếp tục thực hành nhé.
2. Cấu hình file bootstrap
File Bootstrap không phải là bộ Famework Twitter Bootstrap đâu nhé các bạn, đây là file mà ta có thể hiểu nó dùng để điều hướng, khởi tạo hệ thống của ứng dụng, tất cả các request sẽ được gọi tới file này và file này sẽ phân tích request, gọi đến controller phù hợp.
Bạn tạo file index.php với đường dẫn như sau: project_name/index.php, sau đó copy nội dung sau vào:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
try { // Đăng ký Loader // Khởi tạo DI // Khởi tạo và khai báo thư mục view // Khởi tạo ứng dụng // Xử lý và hiển thị kết quả } catch(\Phalcon\Exception $e) { |
Trong đó nội dung từng phần nhỏ mình đã comment rồi nên bạn đọc trong đó nhé. Lúc này cấu trúc folder của chúng ta như sau:
project_name/
/app/
/cache/
/config/
/controllers/
/models/
/views/
/public/
/bootstrap/
/css/
/js/
/index.php
3. Xóa bỏ file index.php bằng htaccess
Bước này khá là quan trong nếu bạn quan tâm đến vấn đề SEO dự án của bạn, vì như mình trình bày tất cả các request đều vào file index.php nên trên URL bắt buộc chúng ta phải gõ thêm index.php. Nhưng điều này không hay lắm vì nhìn rất phản cảm, chính vì vậy chúng ta sử dụng .htaccess để điều trị căn bệnh này của nó.
Bạn tạo file .htaccess có đường dẫn là project_name/.htaccess với nội dung như sau:
1 2 3 4 |
RewriteEngine on |
Tới đây coi như thành công 90% việc cấu hình rồi đấy, bây giờ chúng ta sẽ thực hiện viết chạy chương trình đầu tiên.
4. Ví dụ đầu tiên của Phalcon
Vì mỗi bài mình chỉ trình bày một vấn đề nên về mô hình MVC trong Phalcon mình sẽ trình bày ở bài kế tiếp, bài này mình chỉ lấy một đoạn ví dụ nhỏ để minh họa..
Bạn tạo file IndexController.php có URL là project_name/app/controllers/IndexController.php với nội dung như sau:
1 2 3 4 5 6 7 |
class IndexController extends \Phalcon\Mvc\Controller |
Đây chính là file controller có tên là Index. Hậu tố Controller dùng để phân biệt giữa controller và các đối tượng khác. Các bạn thấy trong lớp IndexController có kế thừa một lớp là Phalcon\Mvc\Controller, vậy lớp này đâu ra? Câu trả lời đó là file ext_phalcon.dll mà bạn đã import vào ở bài hướng dẫn cài đặt Phalcon trên window đấy. Lúc này cấu trúc Folder của chúng ta như sau:
project_name/
/app/
/cache/
/config/
/controllers/
/IndexController.php/
/models/
/views/
/public/
/bootstrap/
/css/
/js/
/index.php
Bây giờ bạn chạy lên và gõ vào đường dẫn URL http://localhost/project_name/index/index thì màn hình sẽ xuất hiện chữ "Hello World!". Trong URL trên thì:
- Index màu xanh là tên Controller (IndexController)
- Index màu đỏ là tên phương thức index (indexAction)
Hoặc bạn gõ với URL là: http://localhost/project_name thì kết quả vẫn tương đương, lý do là chúng ta không truyền vào tham số controller và action nên nó sẽ tự đông gọi đến Controller index và Action index.
Lời kêt
Bài này chúng ta chỉ tìm hiểu mô hình cấu trúc folder trong ứng dụng Phalcon thôi chứ chưa đề cập đến mô hình MVC nhé, bài tiếp theo chúng ta sẽ tìm hiểu đến các thành phần này như các tạo controller, các tạo views, cách gọi views và tạo model trong phalcon một cách chi tiết nhất.
0 nhận xét:
Đăng nhận xét