Chúng ta đã học cách cài đặt Laravel ở bài trước rồi phải không nào. Trong bài hôm nay chúng ta sẽ tìm hiểu cấu trúc của Laravel 8x như thế nào nhé các bạn
1. Cấu trúc của Laravel.
Sau khi tạo 1 project Laravel thì chúng ta sẽ được một cấu trúc thư mục dạng như sau:
|--- app/ │ |--- Console │ |--- Exceptions │ |--- Http │ │ |--- Controllers/ │ |--Controller.php │ │ |--- Middleware │ │ └── Kernel.php │ |--- Providers | └--- User.php |--- bootstrap/ |--- config/ |--- database/ |--- public/ | |--- ... | |--- index.php |--- resources/ | |--- js | |--- lang | |--- sass | |--- views |--- routes/ | |--- api.php | |--- channels.php | |--- console.php | |--- web.php |--- storage/ |--- tests/ |--- vendor/ |--- .env |--- .env.example |--- .gitattributes |--- .gitignore |--- .styleci.yml |--- artisan |--- composer.json |--- composer.lock |--- package.json |--- phpunit.xml |--- README.md |--- readme.md |--- server.php |--- webpack.mix.js
2. Chú giải project Laravel
- app: Thư mục app, chứa tất cả các project được tạo, hầu hết các lớp (class) trong project được tạo đều ở trong đây. Không giống các framework khác, các file model không được chứa trong một thư mục riêng biệt mà được chứa ngay tại thư mục app này.
- Console: Chứa các tập tin định nghĩa các câu lệnh trên artisan.
- Excerption: Chứa các tập tin quản lý, điều hướng lỗi.
- Http
- Controllers : Chứa các controllers của project.
- Middleware: Chứa các tập tin lọc và ngăn chặn các requests.
- Kernel.php: Cấu hình, định nghĩa Middleware.
- Providers: Chứ các providers thực hiện việc binding vào service container(ở phần nâng cao mình sẽ nói sau).
- User.php: Là model User mà Laravel tự địn sẵn cho chúng ta.
- bootstrap: Chứa tập tin điều hướng hệ thống.
- config: Chứa mọi tập tin cấu hình của Laravel.
- database: Chứa các thư mục tập tin về database.
- migrations: Chứa các tập tin định nghĩa,khởi tạo và sửa bảng.
- seeds: Chứa các tập tin định nghĩa dữ liệu insert(thêm) vào trong database.
- factories: Chứa các tập tin định nghĩa các cột bảng dữ liệu để tạo ra các dữ liệu ảo.
- public: Chứa các tập tin css, js, image.
- index.php: Đây là tệp tin root của Laraver
- resources: Thư mục resources, 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 lang trong project.
- - resources/views: Thư mục views, chứa các file view xuất giao diện người dùng.
- 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.
- - 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, ...).
- - file web.php, điều khiển các route của view, như route của trang top, sản phẩm, ...
- storage: Thư mục storage, 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
- tests: Thư mục tests, chứa những file tests, như PHPUnit test.
- vendor: Chứa các thư viện của composer.
- .env: Là tập tin cấu hình chính của laravel như key app,database.
- .env.example: Tệp tin cấu hình mẫu của laraver.
- composer.json: tập tin của composer.
- composer.lock: tập tin của composer.
- package.js: Tập tin cấu hình của nodejs (chứa các package cần dùng cho projects).
- phpunit.xml: Là tập tin xml của phpunit dùng để testing project.
- server.php: Là tập tin để artisan trỏ đến tạo server khi gõ lệnh php artisan serve .
- artisan: Tập tin thực thi lệnh của Laravel.
- webpack.mix.js: file webpack.mix.js, file dùng để build các webpack.
3. Lời kết:
Trên đây là cấu trúc thư mục của Laravel, chi tiết hơn chúng ta sẽ tìm hiểu trong các bài sau nhé các bạn. Chúc các bạn học tốt.