Cấu trúc project Laravel

Cấu trúc thư mục Laravel

Laravel 5.7

myproject

  • app

    • Console

      • Kernel.php Kernel.php
    • Exceptions

      • Handler.php Handler.php
    • Http

      • Controllers

        • Auth

          • ForgotPasswordController.php ForgotPasswordController.php
          • LoginController.php LoginController.php
          • RegisterController.php RegisterController.php
          • ResetPasswordController.php ResetPasswordController.php
          • VerificationController.php VerificationController.php
        • Controller.php Controller.php
      • Middleware

        • Authenticate.php Authenticate.php
        • CheckForMaintenanceMode.php CheckForMaintenanceMode.php
        • EncryptCookies.php EncryptCookies.php
        • RedirectIfAuthenticated.php RedirectIfAuthenticated.php
        • TrimStrings.php TrimStrings.php
        • TrustProxies.php TrustProxies.php
        • VerifyCsrfToken.php VerifyCsrfToken.php
      • Kernel.php Kernel.php
    • Providers

      • AppServiceProvider.php AppServiceProvider.php
      • AuthServiceProvider.php AuthServiceProvider.php
      • BroadcastServiceProvider.php BroadcastServiceProvider.php
      • EventServiceProvider.php EventServiceProvider.php
      • RouteServiceProvider.php RouteServiceProvider.php
    • User.php User.php
  • bootstrap

    • cache

      • .gitignore .gitignore
      • packages.php packages.php
      • services.php services.php
    • app.php app.php
  • config

    • app.php app.php
    • auth.php auth.php
    • broadcasting.php broadcasting.php
    • cache.php cache.php
    • database.php database.php
    • filesystems.php filesystems.php
    • hashing.php hashing.php
    • mail.php mail.php
    • queue.php queue.php
    • services.php services.php
    • session.php session.php
    • view.php view.php
  • database

    • factories

      • UserFactory.php UserFactory.php
    • migrations

      • 2014_10_12_000000_create_users_table.php 2014_10_12_000000_create_users_table.php
      • 2014_10_12_100000_create_password_resets_table.php 2014_10_12_100000_create_password_resets_table.php
    • seeds

      • DatabaseSeeder.php DatabaseSeeder.php
    • app.php app.php
  • public

    • css

      • app.css app.css
    • js

      • app.js app.js
    • svg

      • 403.svg 403.svg
      • 404.svg 404.svg
      • 500.svg 500.svg
      • 503.svg 503.svg
    • .htaccess .htaccess
    • favicon.ico favicon.ico
    • index.php index.php
    • robots.txt robots.txt
    • web.config web.config
  • resources

    • js

      • components

        • ExampleComponent.vue ExampleComponent.vue
      • app.js app.js
      • bootstrap.js bootstrap.js
    • lang

      • en

        • auth.php auth.php
        • pagination.php pagination.php
        • passwords.php passwords.php
        • validation.php validation.php
    • sass

      • _variables.scss _variables.scss
      • app.scss app.scss
    • views

      • welcome.blade.php welcome.blade.php
  • routes

    • api.php api.php
    • channels.php channels.php
    • console.php console.php
    • web.php web.php
  • storage

    • app

      • public

        • .gitignore .gitignore
      • .gitignore .gitignore
    • framework

      • cache

        • data

          • .gitignore .gitignore
        • .gitignore .gitignore
      • sessions

        • .gitignore .gitignore
      • testing

        • .gitignore .gitignore
      • views

        • .gitignore .gitignore
      • .gitignore .gitignore
    • logs

      • .gitignore .gitignore
  • tests

    • Feature

      • ExampleTest.php ExampleTest.php
    • Unit

      • ExampleTest.php ExampleTest.php
    • CreatesApplication.php CreatesApplication.php
    • TestCase.php TestCase.php
  • vendor

    • ...

      • ... ...
    • autoload.php autoload.php
  • .editorconfig .editorconfig
  • .env .env
  • .env.example .env.example
  • .gitattributes .gitattributes
  • .gitignore .gitignore
  • artisan artisan
  • composer.json composer.json
  • composer.lock composer.lock
  • package.json package.json
  • phpunit.xml phpunit.xml
  • readme.md readme.md
  • server.php server.php
  • webpack.mix.js webpack.mix.js

Click vào dấu [+] để xem cấu trúc.

Chưa cần phải xem để hiểu hết từng mục trong đây đâu, dành để tham khảo khi cần thôi.

Folder / File Mô tả
app Thư mục app, chứa tất cả các project được tạo, hầu hết các class trong project được tạo đều ở trong đây.
Không giống các framwork 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.
app/Console Thư mục Console, chứa các tập tin định nghĩa các câu lệnh trên artisan.
app/Exceptions Thư mục Exceptions, chứa các tập tin quản lý, điều hướng lỗi.
app/Http/Controllers Thư mục Controllers, chứa các controller của project.
app/Http/Middleware Thư mục Middleware, chứa các tập tin lọc và ngăn chặn các requests.
app/Providers Thư mục Providers, chứa các file thực hiện việc khai báo service và bind vào trong Service Container.
bootstrap Thư mục bootstrap, 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.
config Thư mục config, chứa tất cả những file cấu hình.
database Thư mục database, chứa 2 thư mục migration (tạo và thao tác database) và seeds (tạo dữ liệu mẫu), tiện lợi để lưu trữ dữ liệu sau này.
database/factories Thư mục factories, 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.
database/migrations Thư mục migrations, chứa các file tạo và chỉnh sửa dữ liệu.
database/seeds Thư mục seeds, chứa các file tạo dữ liệu thêm vào CSDL.
public Thư mục public, 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.
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.
routes/api.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, ...).
routes/web.php 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 Thư mục vendor, chứa các thư viện của Composer.
.env file .env, chứa các config chính của Laravel.
artisan file thực hiện lệnh của Laravel.
.gitattributes
.gitignore
File dành cho xử lý git.
composer.json
composer.lock
composer-setup.php
File của Composer.
package.js file package.js, chứa các package cần dùng cho projects.
phpunit.xml file phpunit.xml, xml của phpunit dùng để testing project.
webpack.mix.js file webpack.mix.js, file dùng để build các webpack.