LARAVEL 5.X CĂN BẢN
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Bài 04: Tìm hiểu cấu trúc của Laravel 5.x

Và trong bài này, chúng ta sẽ tìm hiểu cấu trúc của Laravel để có thể hiểu được vai trò và mục đích của từng chuyên mục, tập tin của Laravel đồng thời cũng thấy được sự khác nhau về các bố trí mô hình MVC của Laravel và các Framework khác có gì khác và giống nhau. Và bây giờ chúng ta sẽ vào khám phá ngay nhé.

Tìm hiểu cấu trúc của Laravel

Ở bài trước chúng ta đã cài đặt thành công laravel trong chuyên mục basic-laravel, chúng ta tiến hành mở chúng sẽ thấy có cấu trúc như sau:

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

basic-laravel/
├── app/
│   ├── Console
│   ├── Exceptions
│   ├── Http
│   │   ├── Controllers
│   │   ├── Middleware
│   │   └──  Kernel.php
│   └── Providers
├── bootstrap/
├── config/
├── database/
├── public/
├── resources/
├── storage/
├── routes/
├── tests/
├── vendor/
├── .env
├── .env.example
├── composer.json
├── composer.lock
├── package.json
├── gulpfile.js
├── server.php
└── artisan

Và bây giờ mình sẽ giải thích mục đích, vai trò của từng thư mục tập tin trong đây nhé, chúng ta sẽ có như sau:

  • app là thư mục chứa tất cả các thư mục, các tập tin php, các class php, thư viện, models để xây dựng project của bạn.
    • Console thư mục chứa các tập tin định nghĩa các lệnh thực thi trên Artisan.
    • Excerption thư mục chứa các tập tin quản lý, điều hướng lỗi.
    • Http
      • Controllers là thư mục chứa các tập tin controllers
      • Middleware là thư mục chứa các tập tin lọc và ngăn chặn các requests.
      • Kernel.php là tập tin cấu hình, định nghĩa Middleware hoặc nhóm Middleware.
    • Providers chứa các providers mình sẽ nói rõ về nó trong các bài nâng cao.
  • bootstrap thư mục chứa tập tin điều hướng khởi động hệ thống, thường thì chúng ta sẽ không làm gì đến nó.
  • 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ề CSDL
    • migrations chứa các tập tin định nghĩa khởi tạo và sử bảng.
    • seeds chứa các tập tin định nghĩa dữ liệu insert vào 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 phục vụ cho tests.
  • public chính là webroot người dùng sẽ truy cập vào đây, đây cũng là nơi chứa các tập tin css, js, image.
  • resources chứa các tập tin giao diện (js, css, less, sass, coffeescript,...), views, ngôn ngữ.
  • storage chứa các tập tin hệ thống như upload, cache, session, cookie, log...
  • routes là thư mục chứa các tập tin định nghĩa các router, xử lý router hoặc điều hướng router (tức là URL, laravel không tự đặt url theo kiểu example.com/controller/action/value mà chúng ta phải tự định nghĩa chúng) bao gồm 3 loại là web, api và console.
  • tests chứa các tập tin định nghĩa tests.
  • vendor thư mục của composer.
  • .env.env.example là 2 tập tin cấu hình chính của laravel như key app, tên app, url app, email, env mode, CSDL hay bật tắt debug.
  • composer.json, 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 thiết cho projects.
  • gulpfile.js là tập tin gulp builder.
  • 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, cũng là tập tin mà chúng ta tương tác nhiều nhất.

Ngoài ra còn có các thư mục và tập tin khác nữa, nhưng mình sẽ nói rõ hơn ở các bài sau. Có một số thư mục mình còn giải thích quá trừu tượng, nhưng các bạn hãy tạm hiểu như thế ở các bài học riêng từng cái mình sẽ nói rõ hơn về Laravel.

Lời kết

Qua bài này, chúng ta đã biết được cấu trúc và vai trò mục đích của từng thư mục tập tin trong Laravel. Ở bài tiếp theo chúng ta sẽ tiến hành tìm hiểu về routers và tạo một trang đầu tiên bằng Laravel nhé, nếu có thắc mắc về bài này bạn có thể để lại comment hoặc đặt câu hỏi tại Group chính thức của FreeTuts.net nhé. Hẹn gặp lại các bạn ở các bài học tiếp theo.

Bài viết được đóng góp bởi Đinh Quốc Hân.

Cùng chuyên mục:

Bài 1: Laravel là gì? hướng dẫn cài đặt laravel bằng Composer

Bài 1: Laravel là gì? hướng dẫn cài đặt laravel bằng Composer

Bài 03: Hướng dẫn cài đặt Laravel 5.x

Bài 03: Hướng dẫn cài đặt Laravel 5.x

Để bắt đầu series tự học Laravel 5x thì công việc đầu tiên là bạn…

Bài 02: Hướng dẫn sử dụng Composer PHP

Bài 02: Hướng dẫn sử dụng Composer PHP

Composer là một công cụ tuyệt vời cho tín đồ PHP và trong bài này,…

Bài 11: Sử dụng Query Builder (Model) trong laravel

Bài 11: Sử dụng Query Builder (Model) trong laravel

Model trong mô mình MVC dùng để tương tác với cơ sở dữ liệu và…

Bài 10: Sử dụng Blade template engine trong Laravel

Bài 10: Sử dụng Blade template engine trong Laravel

Template engine có tác dụng giúp sạch đi những đoạn code PHP nằm trong View…

Bài 4: Sử dụng View trong laravel

Bài 4: Sử dụng View trong laravel

Trong bài này chúng ta sẽ tìm hiểu đến View, một thành phần khá quan…

Bài 3: Sử dụng Controller trong laravel

Bài 3: Sử dụng Controller trong laravel

Sau khi route nhận được request thì sẽ chuyển hướng request đến cho controller và…

Bài 07: Sử dụng Route::filter và Route::group trong laravel

Bài 07: Sử dụng Route::filter và Route::group trong laravel

Giới thiệu về 2 loại route rất quan trọng trong việc xử lý logic và…

Bài 06: Sử dụng Route::controller và Route::resource trong laravel

Bài 06: Sử dụng Route::controller và Route::resource trong laravel

Ở bài trước mình có giới thiệu tổng quan về rout trong Laravel và việc…

Bài 02: Tổng quan về route trong laravel

Bài 02: Tổng quan về route trong laravel

Trong khuôn khổ bài viết này, mình sẽ giới thiệu đến bạn route trong laravel…

Bài 04: Những công cụ tốt nhất hỗ trợ học laravel

Bài 04: Những công cụ tốt nhất hỗ trợ học laravel

Trước hết, ai khi học php đều chọn cho mình 1 IDE hoặc text editor…

Bài 02: Cấu trúc thư mục cơ bản của Laravel

Bài 02: Cấu trúc thư mục cơ bản của Laravel

Bất kì một Framework nào cũng đưa ra một mô hình các cấu trúc thư…

Bài 03: Cài đặt Openserver và tạo domain ảo trên localhost

Bài 03: Cài đặt Openserver và tạo domain ảo trên localhost

Trong bài 3 này mình sẽ giới thiệu các bạn cách tạo tên miền ảo…

Bài 01: Composer là gì?

Bài 01: Composer là gì?

Composer là một công cụ quản lý các thư viện trong PHP (Dependency Management), công…

Một cách quản lý filter trong Laravel

Một cách quản lý filter trong Laravel

Filter là một thành phần tuyệt vời mà laravel cung cấp cho chúng ta, nó…

Sử dụng Event trong Laravel

Sử dụng Event trong Laravel

Trong bài này mình sẽ giới thiệu event, cách tạo event và bắt event trong…

Bài 01: Laravel là gì? Hướng dẫn cài đặt laravel trên windows

Bài 01: Laravel là gì? Hướng dẫn cài đặt laravel trên windows

Trong chuỗi bài viết này mình sẽ viết về laravel 4.2.* trong môi trường windows,…

Top