FuelPHP - Tổng quan về kiến ​​trúc

FuelPHP dựa trên thử nghiệm trong trận chiến Model-View-Controller kiến trúc cùng với HMVC (Hierarchical MVC)ủng hộ. Trong khi MVC cung cấp khả năng phát triển ứng dụng linh hoạt và nhiều lớp, HMVC còn tiến thêm một bước nữa để cho phép mở rộng ứng dụng web.

Điểm mạnh của FuelPHP là nó không thực thi các cách cụ thể để phát triển một ứng dụng. Nó chỉ cung cấp một cấu trúc tiêu chuẩn đơn giản và dễ sử dụng. Các nhà phát triển có thể tự do sử dụng bộ chức năng được xác định trước do FuelPHP cung cấp hoặc sửa đổi nó bất cứ khi nào cần. Tất cả các tính năng do FuelPHP cung cấp bao gồm cả tính năng cốt lõi có thể được thay đổi theo yêu cầu của ứng dụng.

Mô hình

Mô hình là thực thể kinh doanh của ứng dụng. Controller và View trao đổi dữ liệu dưới dạng Model. Mô hình cho phép trình bày thống nhất dữ liệu kinh doanh của chúng tôi. Nó cho phép lớp cơ sở dữ liệu tương tác với lớp ứng dụng web theo cách tiêu chuẩn và cung cấp một tùy chọn để chọn, lưu, chỉnh sửa và xóa các thực thể cơ sở dữ liệu của chúng tôi.

Bộ điều khiển

Một ứng dụng MVC điển hình bắt đầu từ Bộ điều khiển. Khi người dùng gửi yêu cầu đến ứng dụng web FuelPHP, ứng dụng sẽ thu thập tất cả thông tin về yêu cầu và gửi đến Bộ điều khiển. Bộ điều khiển thực hiện logic nghiệp vụ bắt buộc của trang được yêu cầu và sau đó gọi Chế độ xem có liên quan cùng với dữ liệu đã xử lý ở dạng Mô hình.

Lượt xem

View là lớp trình bày của ứng dụng MVC. Chế độ xem quyết định cách hiển thị Mô hình cho người dùng. Nó hỗ trợ kết xuất dữ liệu đơn giản theo bố cục nâng cao, cho phép trang web bình thường hóa thiết kế trên tất cả các trang. View cũng cung cấp hỗ trợ theo chủ đề, cho phép thay đổi thiết kế nhanh chóng trên ứng dụng.

Người thuyết trình

Người thuyết trình là một tính năng đặc biệt được cung cấp bởi FuelPHP. Nó là chất kết dính giữa Controller và View. Bộ điều khiển có thể chia sẻ một số trách nhiệm cấp thấp của nó như truy xuất mô hình từ cơ sở dữ liệu, tạo dữ liệu cho chế độ xem, v.v. Bộ điều khiển gọi Người trình bày thay vì Chế độ xem, lần lượt gọi Chế độ xem. Presenter cho phép tách biệt thuần túy logic nghiệp vụ và lớp trình bày.

MVC phân cấp

FuelPHP cung cấp một tùy chọn để gọi một bộ điều khiển từ một bộ điều khiển khác, tương tự như yêu cầu từ khách hàng (trình duyệt). Nếu bất kỳ bộ điều khiển nào gọi bộ điều khiển khác, bộ điều khiển được gọi sẽ trả lại phản hồi cho bộ điều khiển đang gọi thay vì hiển thị nó cho máy khách (trình duyệt). Điều này cho phépwidgetizationcủa ứng dụng web. Ví dụ: phần bình luận có thể được hiển thị dưới dạng một trang độc lập cũng như một phần phụ của trang chính (blog).

Mô-đun

Một trong những tính năng nổi bật của FuelPHP là một phần của ứng dụng web có thể được chuyển đổi thành các mô-đun, phần này có thể được chia sẻ giữa các ứng dụng khác nhau. Ví dụ: một mô-đun blog được tạo cho một ứng dụng có thể được sử dụng lại trong một ứng dụng khác bằng cách chỉ sao chép mã mô-đun từ ứng dụng nguồn sang ứng dụng đích.

Lưu ý rằng việc tạo một mô-đun mới cũng đơn giản như phát triển ứng dụng chính. Cấu trúc tương tự như ứng dụng chính với ngoại lệ duy nhất là mô-đun phải mã hóa một thư mục riêng biệt.

Gói

FuelPHP cung cấp một tùy chọn để tổ chức mã thành một đơn vị duy nhất được gọi là Gói. Một gói có thể chứa một hoặc nhiều chức năng cần thiết cho ứng dụng web. Ví dụ, một thành phần cơ sở dữ liệu như ORM, email, v.v., có thể được tổ chức thành một gói và được sử dụng bất cứ khi nào cần.

Gói khác với Mô-đun theo nghĩa là Gói không chứa bất kỳ trang web nào hoặc một phần trang web. Gói có thể được sử dụng trong FuelPHP cũng như bất kỳ khung PHP nào khác.

Quy trình làm việc

Quy trình làm việc của FuelPHP rất đơn giản và dễ hiểu. Nó được mô tả trong sơ đồ sau.

  • Người dùng gửi yêu cầu đến ứng dụng.

  • Bộ điều khiển nhận yêu cầu và thu thập thông tin bằng cách tương tác với mô hình, từ đó tương tác với cơ sở dữ liệu.

  • Bộ điều khiển thu thập thông tin bằng cách tương tác với bộ điều khiển khác bằng cách gửi yêu cầu con đến bộ điều khiển khác.

  • Bộ điều khiển gửi mô hình đã truy xuất tới dạng xem, từ đó tạo ra bản trình bày và gửi nó đến máy khách dưới dạng phản hồi.

  • Trong một số trường hợp, người điều khiển có thể chuyển quyền điều khiển cho người thuyết trình. Trong trường hợp đó, người thuyết trình thu thập thông tin từ mô hình và gửi cho khách hàng. Ở đây, người trình bày không thực hiện bất kỳ logic nghiệp vụ nào, ngoại trừ truy xuất mô hình từ cơ sở dữ liệu.