Tôi muốn giới thiệu khi chưa bao giờ bạn tạo một thư mục để lưu trữ nó trong thư mục lưu trữ hoặc thư mục chung. Bạn có thể sử dụng trình trợ giúp storage_path['app/file.txt']
để có được điều đó hoặc nếu bạn đang có thư mục bên trong thư mục chung public_path[]
Để có quyền truy cập vào một thứ gì đó trong thư mục gốc của bạn, hãy sử dụng app_path[]
Tham khảo https. // ấu trùng. com/docs/7. x/helpers để biết thêm thông tin
Đăng nhập để tham gia vào chủ đề này
Theo mặc định, cấu trúc thư mục của Laravel nhằm đáp ứng yêu cầu phát triển ứng dụng lớn và nhỏ. Nhưng có một điều khoản để sắp xếp nó theo yêu cầu của bạn. Laravel không áp đặt bất kỳ hạn chế nào đối với việc định vị lớp đã cho của bạn ở bất kỳ đâu - miễn là trình soạn thảo có thể tải lớp đó một cách tự động. Trong hướng dẫn này, bạn sẽ tìm hiểu về hai cấu trúc thư mục khác nhau của Laravel. Vì vậy, chúng ta hãy đào sâu vào nó
Cấu trúc thư mục gốc của Laravel
Thư mục này là một trong những thư mục quan trọng nhất, bên trong đó bạn sẽ tìm thấy một số thư mục con khác. đó là
DirectoryDescriptionappThư mục ứng dụng chứa mã cơ sở cho ứng dụng Laravel của bạn. bootstrapThư mục bootstrap chứa tất cả các tập lệnh bootstrapping được sử dụng cho ứng dụng của bạn. configThư mục config chứa tất cả các tệp cấu hình dự án của bạn [. cấu hình]. cơ sở dữ liệuThư mục cơ sở dữ liệu chứa các tệp cơ sở dữ liệu của bạn. publicThư mục public giúp bắt đầu dự án Laravel của bạn và duy trì các tệp cần thiết khác như JavaScript, CSS và hình ảnh của dự án của bạn. resourceThư mục tài nguyên chứa tất cả các tệp Sass, tệp ngôn ngữ [bản địa hóa] và mẫu [nếu có]. routeThư mục route chứa tất cả các tệp định tuyến của bạn để định tuyến, chẳng hạn như bảng điều khiển. php, API. php, kênh. php, v.v. lưu trữThư mục lưu trữ chứa các tệp phiên, bộ đệm, các mẫu đã biên dịch và các tệp linh tinh do khung tạo ra. test Thư mục test chứa tất cả các test case của bạn. nhà cung cấpThư mục nhà cung cấp chứa tất cả các tệp phụ thuộc của nhà soạn nhạcCấu trúc thư mục ứng dụng của Laravel
Đây là một thư mục Laravel khác chứa các thư mục con khác cho các mục đích bổ sung. đó là
Laravel cung cấp một số trình trợ giúp để lấy đường dẫn của thư mục chung, thư mục ứng dụng, thư mục lưu trữ và thư mục cơ sở. Nó sẽ giúp lưu trữ tệp, đọc tệp từ đường dẫn và cả những thứ khác từ bộ điều khiển, xem tệp, mô hình, v.v.
Bạn có thể xem dưới đây cách lấy đường dẫn của thư mục đó bằng cách sử dụng từng cái một
Làm cách nào để lấy đường dẫn thư mục chung trong laravel?
public_path[]; // Path of public/
Làm cách nào để lấy đường dẫn cơ sở [Project Root] trong laravel?
base_path[]; // Path of application root
Làm cách nào để lấy đường dẫn thư mục lưu trữ trong laravel?
storage_path[]; // Path of storage/
Làm cách nào để lấy đường dẫn thư mục ứng dụng trong laravel?
app_path[]; // Path of app/
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ỏ. Tất nhiên, bạn có thể tự do sắp xếp ứ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
Thư mục gốc
Thư mục gốc của bản cài đặt Laravel mới chứa nhiều thư mục khác nhau
Thư mục app
, như bạn có thể mong đợi, 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
chứa một số tệp khởi động khung và định cấu hình tự động tải, cũng như thư mục cache
chứa một số tệp được tạo bởi khung để tối ưu hóa hiệu suất bootstrap
Thư mục
0, 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ạnbase_path[]; // Path of application root
Thư mục
1 chứa hạt giống và di chuyển cơ sở dữ liệu 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 SQLitebase_path[]; // Path of application root
Thư mục
2 chứa bộ điều khiển phía trước và nội dung của bạn [hình ảnh, JavaScript, CSS, v.v. ]base_path[]; // Path of application root
Thư mục
3 chứa các chế độ xem, nội dung thô của bạn [LESS, SASS, CoffeeScript] và các tệp bản địa hóabase_path[]; // Path of application root
Thư mục
4 chứa các mẫu Blade đã biên dịch, 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ụcbase_path[]; // Path of application root
app
, 6 vàbase_path[]; // Path of application root
bootstrap
0. Thư mục app
có thể được sử dụng để lưu trữ bất kỳ tệp nào được ứng dụng của bạn sử dụng. Thư mục 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ụcbase_path[]; // Path of application root
bootstrap
0 chứa các tệp nhật ký của ứng dụng của bạnThư mục bootstrap
4 chứa các bài kiểm tra tự động của bạn. Một ví dụ PHPUnit được cung cấp ngay lập tức
Thư mục bootstrap
5 chứa các phụ thuộc Composer của bạn
Thư mục ứng dụng
"Thịt" của ứng dụng của bạn nằm trong thư mục app
. Theo mặc định, thư mục này được đặt tên theo bootstrap
7 và được Composer tự động tải bằng tiêu chuẩn tải tự động PSR-4
Thư mục app
đi kèm với nhiều thư mục bổ sung như bootstrap
9, cache
0 và cache
1. Hãy nghĩ về các thư mục bootstrap
9 và cache
0 như cung cấp một API vào "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 chỉ đơn giản là hai cách để phát lệnh cho ứng dụng của bạn. Thư mục bootstrap
9 chứa tất cả các lệnh Artisan của bạn, trong khi thư mục cache
0 chứa bộ điều khiển, phần mềm trung gian và yêu cầu của bạn
Thư mục cache
6, như bạn có thể mong đợi, chứa các lớp sự kiện. Các sự kiện có thể được sử dụng để cảnh báo các phần khác trong ứng dụng của bạn rằng một hành động nhất định đã xảy ra, mang lại rất nhiều tính linh hoạt và tách rời
Thư mục cache
7 chứa trình xử lý ngoại lệ của ứng dụng của bạn và cũng là nơi tốt để dán bất kỳ ngoại lệ nào do ứng dụng của bạn đưa ra
Tất nhiên, thư mục cache
8 chứa các công việc có thể xếp hàng đợi cho ứng dụng của bạn. Các công việc có thể được ứng dụng của bạn xếp hàng đợi hoặc chạy đồng bộ trong vòng đời yêu cầu hiện tại
Thư mục cache
9 chứa các lớp trình xử lý cho các sự kiện của bạn. Trình xử lý nhận một sự kiện và thực hiện logic để đáp ứng với sự kiện được kích hoạt. Ví dụ: một sự kiện
00 có thể được xử lý bởi một người nghebase_path[]; // Path of application root
01base_path[]; // Path of application root
Thư mục
02 chứa các lớp chính sách ủy quyền cho ứng dụng của bạn. Các chính sách được sử dụng để xác định xem người dùng có thể thực hiện một hành động nhất định đối với tài nguyên hay không. Để biết thêm thông tin, hãy xem tài liệu ủy quyềnbase_path[]; // Path of application root
Ghi chú. Nhiều lớp trong thư mục
app
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ệnh04 trong thiết bị đầu cuối của bạnbase_path[]; // Path of application root
Thư mục gốc trong Laravel là gì?
Cấu trúc thư mục gốc của Laravel . Thư mục bootstrap chứa tất cả các tập lệnh bootstrapping được sử dụng cho ứng dụng của bạn. Thư mục cấu hình chứa tất cả các tệp cấu hình dự án của bạn [. cấu hình]. The app directory holds the base code for your Laravel application. The bootstrap directory contains all the bootstrapping scripts used for your application. The config directory holds all your project configuration files [. config].Tệp định tuyến nằm ở đâu trong thư mục dự án của Laravel?
Các tệp định tuyến mặc định . Các tệp này được tải tự động bởi App\Providers\RouteServiceProvider của ứng dụng của bạn. Các tuyến đường/web. tệp php xác định các tuyến dành cho giao diện web của bạn. routes directory. These files are automatically loaded by your application's App\Providers\RouteServiceProvider . The routes/web.php file defines routes that are for your web interface.Tệp cấu hình gốc cho ứng dụng Laravel là gì?
Bạn sẽ cần . env trong thư mục gốc của dự án để định cấu hình môi trường ứng dụng của bạn. Khi bạn cài đặt trình soạn thảo cho Laravel, tệp này được tạo hoặc tạo tự động bởi trình soạn thảo.Thư mục nào trong Laravel được sử dụng để định tuyến ứng dụng?
Thư mục tuyến đường chứa tất cả định nghĩa tuyến đường 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. trang web. php, API. php, bảng điều khiển. php và các kênh. php.