Cấu trúc ứng dụng Laravel mặc định nhằm cung cấp một điểm khởi đầu tuyệt vời cho cả ứng dụng lớn và nhỏ. Nhưng bạn có thể tự do tổ chức ứng dụng của mình theo cách bạn muốn. Laravel áp đặt hầu như không có giới hạn về vị trí của bất kỳ lớp cụ thể nào - miễn là Trình soạn thảo có thể tự động tải lớp
Lưu ý Bạn mới sử dụng Laravel?
Thư mục gốc
Thư mục ứng dụng
Thư mục app
chứa mã lõi của ứng dụng của bạn. Chúng ta sẽ sớm khám phá thư mục này chi tiết hơn;
Thư mục Bootstrap
Thư mục bootstrap
chứa tệp app.php
khởi động khung. Thư mục này cũng chứa một thư mục cache
chứa các tệp được tạo theo khung để tối ưu hóa hiệu suất, chẳng hạn như các tệp bộ đệm của tuyến đường và dịch vụ. Thông thường, bạn không cần phải sửa đổi bất kỳ tệp nào trong thư mục này
Thư mục cấu hình
Thư mục config
, như tên của nó, chứa tất cả các tệp cấu hình của ứng dụng của bạn. Bạn nên đọc qua tất cả các tệp này và tự làm quen với tất cả các tùy chọn có sẵn cho mình
Thư mục cơ sở dữ liệu
Thư mục database
chứa các lần di chuyển cơ sở dữ liệu, nhà máy mô hình và hạt giống của bạn. Nếu muốn, bạn cũng có thể sử dụng thư mục này để chứa cơ sở dữ liệu SQLite
Thư mục Lãng
Thư mục lang
chứa tất cả các tệp ngôn ngữ của ứng dụng của bạn
Thư mục công cộng
Thư mục public
chứa tệp index.php
, là điểm nhập cho tất cả các yêu cầu vào ứng dụng của bạn và định cấu hình tự động tải. Thư mục này cũng chứa các nội dung của bạn như hình ảnh, JavaScript và CSS
Thư mục tài nguyên
Thư mục resources
chứa các chế độ xem cũng như nội dung thô, chưa được biên dịch của bạn, chẳng hạn như CSS hoặc JavaScript
Danh mục Tuyến đường
Thư mục bootstrap
0 chứa tất cả các định nghĩa route cho ứng dụng của bạn. Theo mặc định, một số tệp định tuyến được bao gồm trong Laravel. bootstrap
1, bootstrap
2, bootstrap
3 và bootstrap
4
Tệp bootstrap
1 chứa các tuyến đường mà bootstrap
6 đặt trong nhóm phần mềm trung gian bootstrap
7, cung cấp trạng thái phiên, bảo vệ CSRF và mã hóa cookie. Nếu ứng dụng của bạn không cung cấp API RESTful, không trạng thái thì tất cả các tuyến đường của bạn rất có thể sẽ được xác định trong tệp bootstrap
1
Tệp bootstrap
2 chứa các route mà bootstrap
6 đặt trong nhóm phần mềm trung gian app.php
1. Các tuyến này được dự định là không trạng thái, vì vậy các yêu cầu vào ứng dụng thông qua các tuyến này nhằm mục đích được xác thực qua mã thông báo và sẽ không có quyền truy cập vào trạng thái phiên
Tệp bootstrap
3 là nơi bạn có thể xác định tất cả các lệnh điều khiển dựa trên đóng cửa của mình. Mỗi bao đóng được liên kết với một phiên bản lệnh cho phép một cách tiếp cận đơn giản để tương tác với các phương thức IO của mỗi lệnh. Mặc dù tệp này không xác định các tuyến HTTP, nhưng nó xác định các điểm vào dựa trên bảng điều khiển [các tuyến] vào ứng dụng của bạn
Tệp bootstrap
4 là nơi bạn có thể đăng ký tất cả các kênh phát sóng sự kiện mà ứng dụng của bạn hỗ trợ
Thư mục lưu trữ
Thư mục app.php
4 chứa nhật ký của bạn, các mẫu Blade đã biên dịch, các phiên dựa trên tệp, bộ đệm tệp và các tệp khác do khung tạo ra. Thư mục này được tách thành các thư mục app
, app.php
6 và app.php
7. Thư mục app
có thể được sử dụng để lưu trữ bất kỳ tệp nào được tạo bởi ứng dụng của bạn. Thư mục app.php
6 được sử dụng để lưu trữ các tệp và bộ đệm do khung tạo ra. Cuối cùng, thư mục app.php
7 chứa các tệp nhật ký của ứng dụng của bạn
Thư mục cache
1 có thể được sử dụng để lưu trữ các tệp do người dùng tạo, chẳng hạn như hình đại diện hồ sơ, có thể truy cập công khai. Bạn nên tạo một liên kết tượng trưng tại cache
2 trỏ đến thư mục này. Bạn có thể tạo liên kết bằng lệnh Artisan cache
3
Thư mục kiểm tra
Thư mục cache
4 chứa các bài kiểm tra tự động của bạn. Ví dụ kiểm tra đơn vị PHPUnit và kiểm tra tính năng được cung cấp ngay lập tức. Mỗi lớp kiểm tra phải có hậu tố là từ cache
5. Bạn có thể chạy thử nghiệm của mình bằng cách sử dụng lệnh cache
6 hoặc cache
7. Hoặc, nếu bạn muốn trình bày chi tiết và đẹp mắt hơn về kết quả thử nghiệm của mình, bạn có thể chạy thử nghiệm bằng cách sử dụng lệnh Artisan cache
8
Danh mục nhà cung cấp
Thư mục cache
9 chứa các phụ thuộc Composer của bạn
Thư mục ứng dụng
Phần lớn ứng dụng của bạn được đặt trong thư mục app
. Theo mặc định, thư mục này được đặt tên theo config
1 và được Composer tự động tải bằng tiêu chuẩn tải tự động PSR-4
Thư mục app
chứa nhiều thư mục bổ sung như config
3, config
4 và config
5. Hãy nghĩ về các thư mục config
3 và config
4 như cung cấp một API vào cốt lõi của ứng dụng của bạn. Giao thức HTTP và CLI đều là cơ chế để tương tác với ứng dụng của bạn, nhưng không thực sự chứa logic ứng dụng. Nói cách khác, chúng là hai cách để phát lệnh cho ứng dụng của bạn. Thư mục config
3 chứa tất cả các lệnh Artisan của bạn, trong khi thư mục config
4 chứa bộ điều khiển, phần mềm trung gian và yêu cầu của bạn
Một loạt các thư mục khác sẽ được tạo bên trong thư mục app
khi bạn sử dụng các lệnh Artisan của database
1 để tạo các lớp. Vì vậy, ví dụ, thư mục database
2 sẽ không tồn tại cho đến khi bạn thực hiện lệnh Artisan database
3 để tạo một lớp công việc
Lưu ý
Nhiều lớp trong thư mụcapp
có thể được tạo bởi Artisan thông qua các lệnh. Để xem lại các lệnh có sẵn, hãy chạy lệnhdatabase
5 trong thiết bị đầu cuối của bạn.
Thư mục phát sóng
Thư mục database
6 chứa tất cả các lớp kênh quảng bá cho ứng dụng của bạn. Các lớp này được tạo bằng lệnh database
7. Thư mục này không tồn tại theo mặc định, nhưng sẽ được tạo cho bạn nếu bạn thực hiện lệnh index.php
2 Artisan. Thư mục index.php
3 chứa các đối tượng quy tắc xác thực tùy chỉnh cho ứng dụng của bạn. Các quy tắc được sử dụng để đóng gói logic xác thực phức tạp trong một đối tượng đơn giản. Để biết thêm thông tin, hãy xem tài liệu xác nhận