Lập trình một Framework yêu cầu người lập trình phải hiểu rõ từng thành phần có trong Framework đang sử dụng. Bài viết giải thích cấu trúc của Framework Laravel 5.4.
PHP HTML Nguyễn Hồng Sơn 2017-09-09 21:53:05

Giới thiệu

Lập trình một Framework yêu cầu người lập trình phải hiểu rõ từng thành phần có trong Framework đang sử dụng. Bài viết giải thích cấu trúc của Framework Laravel 5.4

Tiền đề bài viết

Bài viết phục vụ cho yêu cầu tìm hiểu học thuật cho các bạn quan tâm Laravel Framework và yêu cầu từ nhóm học thuật ptq (Cao học hệ thống thông tin K23 – CTU).

Môi trường thử nghiệm

  • Windows 7 64 bit
  • XAMPP PHP 7.18
  • Laravel 5.4

Cấu trúc Laravel 5.4

Capture

app Chứa các thư mục chính trong xây dựng project. Bao gồm:

Console: chứa tập tin Kernel định nghĩa các lệnh thực thi Artisan.

Exceptions: chứa tập tin Handler định nghĩa danh sách các ngoại lệ.

HTTP:

  • Controllers: Thư mục chứa các tập tin điều khiển
  • Middleware: Thư mục chứa các tập tin, giao thức kết nối trung gian
  • Kernel.php: tập tin hạt nhân định nghĩa cấu trúc của cá lớp trung gian

Providers: chứa các tập tin dịch vụ được cung cấp bởi nhà phát hành.

bootstrap Thư mục chứa các tập tin điều hướng, liên kết giao diện
config Thư mục chứa các tập tin cấu hình của project Laravel
database Thư mục chứa các tập tin về cơ sở dữ liệu
public Thư mục chứa các tập tin cho phép người dùng truy cập bao gồm file index.php và các tập tin css, js, ...
resources Thư mục chứa các tập tin tài nguyên như các ngôn ngữ, hiển thị, ...
routes Thư mục chứa các tập tin xử lý định hướng. Đối với Laravel chúng ta phải cấu hình các tập tin này.
storage Thư mục chứa các tập tin lưu trữ của hệ thống
tests Thư mục chứa các mẫu kiểm tra
vendor Thư mục chứa dữ liệu của nhà cung cấp bao gồm Composer
.evn Tập tin cấu hình của Laravel như là (tên, khoá, url, ...)
.evn.example Tập tin được lưu mẫu tương tự như .evn
composer.json Tập tin quy định cấu trúc để lấy dữ liệu từ composer
composer.lock Tập tin được tạo tự động nhằm khoá các trạng thái đã ổn định của project
package.js Tập tin chứa thông số về các gói thư viện hỗ trợ cho project
phpunit.xml Tập tin xml phục vụ cho việc kiểm tra dự án
readme.md Tập tin chứa thông tin cần thiết của Laravel
server.php Tập tin cho phép project sử dụng chức năng giả lập máy chủ Apache

Lời kết

Bài viết này dựa trên cây thư mục của project Laravel 5.4. Sẽ có những thay đổi nếu sử dụng phiên bản khác. Do vấn đề ngôn ngữ học thuật nên một số thư mục khi giải thích vẫn còn khá trừu tượng. Rất mong muốn nhận được nhiều ý kiến đóng góp mang tính xây dựng.