Cấu trúc ứng dụng Laravel

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 có 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à dự án laravel. Nó bao gồm các thư mục con và tập tin khác nhau. Việc phân tích các thư mục và tệp, cùng với các chức năng của chúng được đưa ra dưới đây:

Cấu trúc laravel

App

 Nó là thư mục ứng dụng (application) và bao gồm toàn bộ mã nguồn của dự án. Nó chứa các sự kiện (events), ngoại lệ (exception) và khai báo phần mềm trung gian (middleware). Thư mục ứng dụng bao gồm các thư mục phụ khác nhau như được giải thích bên dưới:

Console

 Console chứa tệp Kernel.php định nghĩa các câu lệnh trên artisan.

cấu trúc laravel

Exceptions

Thư mục này chứa tất cả các phương thức cần thiết để xử lý các trường hợp ngoại lệ. Nó cũng chứa tập tin handle.php xử lý tất cả các ngoại lệ.

Http

 Thư mục http có các thư mục con cho controllers, middleware.
 
Thư mục con Middleware bao gồm cơ chế phần mềm trung gian, bao gồm cơ chế lọc và giao tiếp giữa responserequest.

 
Thư mục con controllers chứa các controller của project .

Providers
Thư mục này bao gồm tất cả các Providers dịch vụ cần thiết để đăng ký các sự kiện cho các máy chủ core 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 bootstrap của ứng dụng. Nó chứa một thư mục con cụ thể là cache, bao gồm tất cả các tệp được liên kết để lưu trữ ứng dụng web. Bạn cũng có thể tìm thấy tệp app.php, nó khởi tạo các tập lệnh cần thiết cho bootstrap.

Config

Thư mục config bao gồm các cấu hình khác nhau và các tham số liên quan cần thiết cho hoạt động trơn tru của ứng dụng Laravel. Các tập tin khác nhau trong thư mục config được hiển thị trong hình ảnh dưới đây. Các tên file hoạt động theo chức năng liên quan đến chúng.

cấu trúc laravel

Database

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ơ sở dữ liệu. Nó bao gồm ba thư mục con như được đưa ra dưới đây:
  • Seeds - Chứa các lớp được sử dụng để tạo dữ liệu thêm vào CSDL.
  • Migrations - Thư mục này chứa các file tạo và chỉnh sửa dữ liệu.
  • Factories - Thư mục này được sử dụng để tạo số lượng lớn các bản ghi dữ liệu.


Public

Đâ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 tin này cung cấp cấu hình máy chủ.
  • javascript và css - Những tệp này được coi là assets được sử dụng để chứa các file js và css.
  • index.php - Tập tin này là cần thiết để khởi tạo một ứng dụng web.


Resources

Thư mục Resources chứa các tệp giúp cải thiện ứng dụng web. 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:
  • js - Thư mục các file javascript cho ứng dụng.
  • scss - Thư mục chứa các file css cho ứng dụng.
  • lang - Thư mục này bao gồm cấu hình vị trí địa lý hoặc ngôn ngữ.
  • views - Views là các tệp HTML hoặc templates tương tác với người dùng và đóng vai trò chính trong kiến ​​trúc MVC.
Quan sát rằng thư mục Resources sẽ được làm phẳng thay vì có một thư mục assets.

cấu trúc laravel

routes

Thư mục routes, chứa tất cả các điều khiển route (đường dẫn) trong project. Chứa các file route sẵn có: web.php, channels.php, api.php, và console.php.

cấu trúc laravel

api

file api.php, điều khiển các route của ứng dụng, như route của ứng dụng User (đăng ký, đăng nhập, ...).

web

file web.php, điều khiển các route của view, như route của trang top, sản phẩm, ...

Storage

Đây là thư mục lưu trữ tất cả các bản ghi và các tệp cần thiết khi 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 dưới đây:
  • app - 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ộ đệm và các khung nhìn (views) và được gọi thường xuyên.
  • Logs - Tất cả các trường hợp ngoại lệ và nhật ký lỗi được theo dõi trong thư mục con này.


Tests

 Chứa những file tests, như PHPUnit test.

Vendor

Laravel hoàn toàn dựa trên các Composer dependencies , ví dụ để cài đặt thiết lập Laravel hoặc nhúng các thư viện của bên thứ ba, v.v ... Thư mục Vendor nhúng tất cả các composer dependencies.

Ngoài các tệp được đề cập ở trên, Laravel còn 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, các gói và các thư viện của bên thứ ba.

Các tập tin trong cấu trúc ứng dụng được hiển thị bên dưới:

cấu trúc laravel