Cấu trúc ứng dụng trong Laravel
về cơ bản là cấu trúc của các thư mục, thư mục con và tệp có trong một dự án. Khi chúng ta tạo một dự án trong Laravel, chúng ta sẽ có một cái nhìn tổng quan về cấu trúc ứng dụng như trong hình ở đây.
Ảnh chụp nhanh được hiển thị ở đây đề cập đến thư mục gốc của Laravel, cụ thể là laravel-project . Nó bao gồm các thư mục con và tệp tin khác nhau. Phân tích các thư mục và tệp, cùng với các khía cạnh chức năng của chúng được đưa ra dưới đây:
Ứng dụng
Nó là thư mục ứng dụng và bao gồm toàn bộ mã nguồn của dự án. Nó chứa các sự kiện, ngoại lệ và khai báo phần mềm trung gian. Thư mục ứng dụng bao gồm các thư mục con khác nhau như được giải thích bên dưới –
Bảng điều khiển
Bảng điều khiển bao gồm các lệnh thủ công cần thiết cho Laravel. Nó bao gồm một thư mục có tên Commands , nơi tất cả các lệnh được khai báo với chữ ký thích hợp. Tập tin Kernal.php gọi các lệnh được khai báo trong Inspire.php
Nếu chúng ta cần gọi một lệnh cụ thể trong Laravel, thì chúng ta nên thực hiện các thay đổi thích hợp trong thư mục này.
Sự kiện
Thư mục này bao gồm tất cả các sự kiện cho dự án.
Các sự kiện được sử dụng để kích hoạt các hoạt động, nêu ra các lỗi hoặc các xác nhận cần thiết và cung cấp tính linh hoạt cao hơn. Laravel giữ tất cả các sự kiện trong một thư mục. Tệp mặc định bao gồm là event.php , nơi tất cả các sự kiện cơ bản được khai báo.
Ngoại lệ
Thư mục này chứa tất cả các phương thức cần thiết để xử lý các ngoại lệ. Nó cũng chứa tệp handle.php xử lý tất cả các trường hợp ngoại lệ.
Http
Các Http thư mục có các thư mục con cho bộ điều khiển, middleware và các ứng dụng yêu cầu. Vì Laravel tuân theo mô hình thiết kế MVC, thư mục này bao gồm mô hình, bộ điều khiển và chế độ xem được xác định cho các thư mục cụ thể.
Các Middleware thư mục con bao gồm cơ chế trung gian, bao gồm các cơ chế lọc và thông tin liên lạc giữa các phản ứng và yêu cầu.
Các yêu cầu thư mục con bao gồm tất cả các yêu cầu của ứng dụng.
Việc làm
Thư mục Jobs duy trì các hoạt động được xếp hàng đợi cho ứng dụng Laravel. Lớp cơ sở được chia sẻ giữa tất cả các Công việc và cung cấp một vị trí trung tâm để đặt chúng dưới một mái nhà.
Người nghe
Người nghe phụ thuộc vào sự kiện và chúng bao gồm các phương pháp được sử dụng để xử lý các sự kiện và ngoại lệ. Ví dụ: sự kiện đăng nhập được khai báo bao gồm sự kiện LoginListener
Chính sách
Các chính sách là các lớp PHP bao gồm logic ủy quyền. Laravel bao gồm một tính năng để tạo tất cả logic ủy quyền trong các lớp chính sách bên trong thư mục con này.
Các nhà cung cấp
Thư mục này bao gồm tất cả các nhà cung cấp dịch vụ cần thiết để đăng ký sự kiện cho các máy chủ lõi và để cấu hình ứng dụng Laravel.
Bootstrap
Thư mục này chứa tất cả các tập lệnh khởi động ứng dụng. Nó chứa một thư mục con cụ thể là bộ nhớ cache , bao gồm tất cả các tệp được liên kết để lưu vào bộ đệm một ứng dụng web. Bạn cũng có thể tìm thấy tệp app.php , tệp này khởi tạo các tập lệnh cần thiết cho bootstrap.
Cấu hình
Các cấu hình thư mục bao gồm các cấu hình khác nhau và các thông số liên quan cần thiết cho hoạt động trơn tru của một ứng dụng Laravel. Các tệp khác nhau được bao gồm trong thư mục cấu hình được hiển thị trong hình ảnh ở đây. Tên tệp hoạt động theo chức năng được liên kết với chúng.
Cơ sở dữ liệu
Như tên cho thấy, thư mục này bao gồm các tham số khác nhau cho các chức năng của cơ sở dữ liệu. Nó bao gồm ba thư mục con như được đưa ra bên dưới:
- Hạt giống – Phần này chứa các lớp được sử dụng cho cơ sở dữ liệu thử nghiệm đơn vị.
- Migrations – Thư mục này trợ giúp trong các truy vấn để di chuyển cơ sở dữ liệu được sử dụng trong ứng dụng web.
- Factories – Thư mục này được sử dụng để tạo ra một số lượng lớn các bản ghi dữ liệu.
Công cộng
Đây là thư mục gốc giúp khởi tạo ứng dụng Laravel. Nó bao gồm các tệp và thư mục sau:
- .htaccess – Tệp này cung cấp cấu hình máy chủ.
- javascript và css – Những tệp này được coi là tài sản.
- index.php – Tệp này là cần thiết để khởi tạo một ứng dụng web.
Tài nguyên
Thư mục tài nguyên chứa các tệp giúp nâng cao ứng dụng web của bạn. Các thư mục con có trong thư mục này và mục đích của chúng được giải thích bên dưới:
- nội dung – Thư mục nội dung bao gồm các tệp như LESS và SCSS, được yêu cầu để tạo kiểu ứng dụng web.
- lang – Thư mục này bao gồm cấu hình để bản địa hóa hoặc nội bộ hóa.
- lượt xem – Chế độ xem là các tệp hoặc mẫu HTML tương tác với người dùng cuối và đóng vai trò chính trong kiến trúc MVC.
Quan sát rằng thư mục tài nguyên sẽ được làm phẳng thay vì có một thư mục tài sản. Hình ảnh đại diện tương tự được hiển thị bên dưới –
Lưu trữ
Đây là thư mục lưu trữ tất cả nhật ký và các tệp cần thiết thường xuyên cần thiết khi một dự án Laravel đang chạy. Các thư mục con có trong thư mục này và mục đích của chúng được đưa ra bên dưới:
- ứng dụng – Thư mục này chứa các tệp được gọi liên tiếp.
- framework – Nó chứa các phiên, bộ nhớ cache và các khung nhìn được gọi thường xuyên.
- Nhật ký – Tất cả các ngoại lệ và nhật ký lỗi đều được theo dõi trong thư mục con này.
Kiểm tra
Tất cả các trường hợp kiểm thử đơn vị được bao gồm trong thư mục này. Quy ước đặt tên để đặt tên các lớp test case là camel_case và tuân theo quy ước này theo chức năng của lớp.
Nhà cung cấp
Laravel hoàn toàn dựa trên các phụ thuộc của Composer, ví dụ để cài đặt thiết lập Laravel hoặc bao gồm các thư viện của bên thứ ba, v.v. Thư mục Vendor bao gồm tất cả các phụ thuộc của composer.
Ngoài các tệp được đề cập ở trên, Laravel cũng bao gồm một số tệp khác đóng vai trò chính trong các chức năng khác nhau như cấu hình GitHub, gói và thư viện của bên thứ ba. Các tệp có trong cấu trúc ứng dụng được hiển thị bên dưới: