×
Press M for TOC
Press -> (next arrow key) for next posting
Press <- (previous arrow key) previous posting
Advertisement
Learn Laravel

Cấu trúc ứng dụng framework Laravel

Chương này giới thiệu cấu trúc ứng dụng của framework Laravel . Cấu trúc ứng dụng trong Laravel về cơ bản là cấu trúc của các thư mục, thư mục con và tệp có trong một dự án. Khi chúng ta tạo một dự án trong Laravel, chúng ta sẽ có một cái nhìn tổng quan về cấu trúc ứng dụng như thể hiện trong hình ở đây.

Cấu trúc ứng dụng Laravel

Ảnh chụp nhanh được hiển thị ở đây đề cập đến thư mục gốc của ứng dụng Laravel. Nó bao gồm nhiều thư mục con và tệp tin. Phân tích các thư mục và tệp, cùng với các khía cạnh chức năng của chúng được đưa ra dưới đây

App

Nó là thư mục ứng dụng và bao gồm toàn bộ mã nguồn của dự án. Nó chứa các sự kiện, ngoại lệ và khai báo phần mềm trung gian (middleware). Thư mục ứng dụng bao gồm các thư mục con khác nhau như được giải thích bên dưới

Console

Thư mục console bao gồm các lệnh artisan cần thiết cho Laravel. Nó bao gồm một thư mục có tên Commands, nơi tất cả các lệnh được khai báo . Tập tin Kernel.php gọi các lệnh được khai báo trong Inspire.php.

Thư mục Console

Nếu chúng ta cần gọi một lệnh cụ thể trong Laravel, thì chúng ta nên thực hiện các thay đổi thích hợp trong thư mục này

Events

Thư mục này bao gồm tất cả các sự kiện cho dự án.

Thư mục Events trong ứng dụng Laravel

Các sự kiện được sử dụng để kích hoạt các hoạt động, nêu ra lỗi hoặc các xác nhận cần thiết và mang lại sự linh hoạt hơn. Laravel giữ tất cả các sự kiện trong một thư mục. Tệp mặc định bao gồm là Event.php nơi khai báo tất cả các sự kiện cơ bản.

Exceptions

Thư mục này chứa tất cả các phương thức cần thiết để xử lý các ngoại lệ. Nó cũng chứa tệp handle.php xử lý tất cả các trường hợp ngoại lệ.

Http

Thư mục Http có các thư mục con controllersMiddleware và các request. Vì Laravel tuân theo mẫu thiết kế MVC, thư mục này bao gồm model , controller và view được xác định cho các thư mục cụ thể.

Thư mục Http

The Middleware sub-folder includes middleware mechanism, comprising the filter mechanism and communication between response and request

Thư mục con Middleware bao gồm các tập tin xử lý như một bộ lọc giữa request và response

Thư mục con Requests bao gồm tất cả các yêu cầu của ứng dụng.

Jobs

Thư mục Jobs duy trì các hoạt động được xếp hàng đợi cho ứng dụng Laravel.

Listeners

Listeners bao gồm các lớp được dùng để xử lý các sự kiện và ngoại lệ. Chẳng hạn, sự kiện login được khai báo bao gồm sự kiện LoginListener

Policies

Policies là các lớp PHP bao gồm authorization logic. Laravel bao gồm chức năng để tạ mọi authorization logic trong lớp policy bên trong thư mục con này

Providers

Thư mục này bao gồm tất cả các service providers cần thiết để đăng ký sự kiện và cấu hình một ứng dụng Laravel

Bootstrap

Thư mục này chứa tất cả các script để khởi chạy ứng dụng. Nó chứa một thư mục con cache, bao gồm tất các tập tin liên quan đến việc cache một ứng dụng web. Bạn cũng có thể tìm thấy tập tin app.php để khởi tạo các script cần thiết cho việc bootstrap

Config

Thư mục config bao gồm các cấu hình khác nhau và kết hợp tham số cần thiết cho chức năng của ứng dụng Laravel. Các tập tin trong thư mục config được thấy như hình bên dưới

Thư mục config trong ứng dụng Laravel

Tên tập tin hàm ý chức năng kết hợp với tập tin đó

Database

Như tên hàm ý, thư mục này bao gồm các tham số khác nhau cho chức năng cơ sở dữ liệu. Nó bao gồm ba thư mục con như bên dưới

  • Seed – Thư mục này bao gồm các lớp dùng để tạo dữ liệu cho ứng dụng
  • Migrations – Thư mục này chứa các tập tin để migrate dữ liệu
  • Factories – Thư mục này được dùng để tạo ra số lượng lớn các bản ghi dữ liệu

Public

Đây là thư mục gốc khởi tạo ứng dụng Laravel. Nó bao gồm các tập tin và thư mục sau

  • .htaccess – Đây là tập tin cấu hình server (Apache)
  • index.php – Tập tin này cần thiết cho việc khởi chạy ứng dụng

Resources

Thư mục Resources chứa các tệp nâng cao ứng dụng web của bạn. Các thư mục con có trong thư mục này và mục đích của chúng được giải thích bên dưới

  • assets – Thư mục này bao gồm các tệp như LESS SCSS, dùng để style ứng dụng web
  • lang – Thư mục này bao gồm cấu hình ngôn ngữ
  • views – Thư mục views bao gồm template tương tác trực tiếp với người dùng cuối và đóng vai trò quan trọng trong kiến trúc MVC
Thư mục Resource

Storage

Đây là thư mục lưu trữ tất cả nhật ký (logs) và các tệp cần thiết thường xuyên cần thiết khi một dự án Laravel đang chạy. Các thư mục con có trong thư mục này và mục đích của chúng được đưa ra bên dưới

  • app – Thư mục này chứa các tệp được gọi liên tiếp
  • framework – Thư mục này chứa các phiên (session), bộ nhớ cache và views thường được gọi
  • logs – Tất cả các ngoại lệ và nhật ký lỗi đều được theo dõi trong thư mục con này

Tests

All the unit test cases are included in this directory. The naming convention for naming test case classes is camel_case and follows the convention as per the functionality of the class.

Tất cả unit test case đều bao gồm trong thư mục này. Quy ước đặt tên để đặt tên cho các lớp test case là camel_case và tuân theo quy ước theo chức năng của lớp

Vendor

Thư mục Vendor bao gồm tất cả Dependency khi bạn chạy lệnh composer install để cài đặt tất cả Dependency cho dự án

Ngoài các tệp được đề cập ở trên, Laravel cũng bao gồm một số tệp khác đóng vai trò chính trong các chức năng khác nhau như cấu hình GitHub, gói và thư viện của bên thứ ba.

Các tệp có trong cấu trúc ứng dụng được hiển thị bên dưới

Leave a Reply

Your email address will not be published. Required fields are marked *

Advertisement