Cấu trúc thư mục trong Laravel Framework 8
Trong bài trước tôi đã hướng dẫn bạn cách cài đặt Laravel, trong bài này chúng ta cùng tìm hiểu cấu trúc các thư mục trong Laravel Framework.
Với Laravel Framework, bạn không nhất thiết phải tuân thủ cấu trúc thư mục mặc định của Laravel. Bạn hoàn toàn có thể tái cấu trúc lại thư mục, miễn sao các Class tuân thủ nguyên tắc autoload của Composer.
Dưới đây là chức năng của các thư mục – file trong Laravel 8
Thư mục app
Thư mục app chứa tất cả các Class của project
Thư mục app/Console
Thư mục chứa các tập tin định nghĩa các câu lệnh trên artisan
Thư mục app/Exceptions
Thư mục chứa các tập tin quản lý, điều hướng lỗi
Thư mục app/Http/Controllers
Thư mục chứa các controller của project
Thư mục app/Http/Middleware
Thư mục chứa các tập tin lọc và ngăn chặn các requests
Thư mục app/Providers
Thư mục chứa các file thực hiện việc khai báo service và bind vào trong Service Container
Thư mục app/Models
Thư mục chứa các model của project (Với Laravel 8 sẽ có sẵn thư mục Models)
Thư mục bootstrap
Thư mục chứa những file khởi động của framework và những file cấu hình auto loading, route, và file cache
Thư mục config
Thư mục chứa tất cả những file cấu hình
Thư mục database
Thư mục chứa 2 thư mục migration (tạo và thao tác database) và seeds (tạo dữ liệu mẫu)
Thư mục database/factories
Thư mục chứa các file định nghĩa các cột bảng dữ liệu để tạo ra các dữ liệu mẫu
Thư mục database/migrations
Thư mục chứa các file tạo và chỉnh sửa dữ liệu
Thư mục database/seeds
Thư mục chứa các file tạo dữ liệu thêm vào CSDL
Thư mục public
Thư mục chứa file index.php giống như cổng cho tất cả các request vào project, bên trong thư mục còn chứa file JavaScript, và CSS
Thư mục resources
Thư mục chứa những file view và raw, các file biên soạn như LESS, SASS, hoặc JavaScript. Ngoài ra còn chứa tất cả các file language trong project.
Thư mục resources/views
Thư mục chứa các file view xuất giao diện người dùng
Thư mục routes
Thư mục 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
Thư mục routes/api.php
Cấu hình các route liên quan đến API
Thư mục routes/web.php
Cấu hình các route liên quan đến web (Có giao diện người dùng)
Thư mục storage
Thư mục chứa các file biên soạn blade templates của bạn, file based sessions, file caches, và những file sinh ra từ project.
- Thư mục app, dùng để chứa những file sinh ra từ project.
- Thư mục framework, chứa những file sinh ra từ framework và caches.
- Thư mục logs, chứa những file logs.
- Thư mục /storage/app/public, lưu những file người dùng tạo ra như hình ảnh.
Thư mục tests
Thư mục chứa những file tests
Thư mục vendor
Thư mục chứa các thư mục, file thư viện của Composer
File .env
File chứa các config chính của Laravel
File artisan
File thực hiện lệnh của Laravel
File .gitattributes, .gitignore
File dùng để xử lý git
File composer.json, composer.lock, composer-setup.php
File sinh ra của composer
File package.json
File chứa các package cần dùng cho projects
File phpunit.xml
File phpunit.xml, xml của phpunit dùng để testing project
File webpack.mix.js
File dùng để build các webpack
Kết luận
Trên đây, tôi đã chia sẻ cấu trúc các thư mục của Laravel Framework (Phiên bản 8). Nếu có bất kỳ câu hỏi nào hãy comment phía dưới bài viết này