Home Tutorial Laravel Laravel – Bài 2: Cấu trúc folder của Laravel

Laravel – Bài 2: Cấu trúc folder của Laravel

18 min read
0
203

Cấu trúc framework 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 tạo một dự án trong Laravel, chúng ta sẽ có được cái nhìn tổng quan về cấu trúc ứng dụng như trong hình ảnh ở đây.

Ảnh dưới đây minh họa thư mục gốc của Laravel cụ thể là laravel-project . Nó bao gồm các thư mục con và tập tin khác nhau. Việc 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 –

Thư mục gốc

App

Nó là thư viết code chính và thường bao gồm toàn bộ mã nguồn của dự án. Chứa các sự kiện, ngoại lệ và khai middleware . Thư mục app bao gồm nhiều thư mục con khác nhau như được giải thích bên dưới :

App/Console

Console  khiển bao gồm các lệnh thủ công 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 với chữ ký thích hợp. Tệp Kernal.php gọi các lệnh được khai báo trong Inspire.php .

Bảng điều khiển

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.

App/Events

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

Sự kiện

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

App/Exceptions

Thư mục này chứa tất cả các method 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 ngoại lệ.

App/http

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

Thư mục con middleware bao gồm cơ chế phần mềm trung gian, bao gồm cơ chế lọc và giao tiếp giữa phản hồi và yêu cầu.

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

App/Jobs

Thư mục Jobs duy trì các hoạt động được xếp hàng đợi cho ứng dụng Laravel. Lớp cơ sở được chia sẻ giữa tất cả các Công việc và cung cấp một vị trí trung tâm để đặt chúng dưới một mái nhà.

App/Listeners

Listeners phụ thuộc vào sự kiện và chúng bao gồm các phương thức được sử dụng để xử lý các sự kiện và ngoại lệ. Ví dụ: sự kiện đăng nhập được khai báo bao gồm sự kiện LoginListener .

App/Policies

Policies là các lớp PHP bao gồm logic ủy quyền. Laravel bao gồm một tính năng để tạo tất cả logic ủy quyền trong các lớp chính sách bên trong thư mục con này.

App/Providers

Thư mục này bao gồm tất cả Providers service cần thiết để đăng ký các sự kiện cho máy chủ lõi và để định cấu hình ứng dụng Laravel.

Bootstrap

Thư mục này bao gồm tất cả các tập lệnh khởi động ứng dụng. Nó chứa một thư mục con cụ thể là bộ đệm , bao gồm tất cả các tệp được liên kết để lưu vào bộ nhớ đệm ứng dụng web. Bạn cũng có thể tìm thấy tệp app.php , tệp này sẽ khởi tạo các tập lệnh cần thiết cho bootstrap.

Config

Thư mục config bao gồm các cấu hình khác nhau và các tham số liên quan cần thiết để ứng dụng Laravel hoạt động trơn tru. Các tệp khác nhau có trong thư mục cấu hình như trong hình ảnh ở đây. Tên tệp hoạt động theo chức năng được liên kết với chúng.

thư mục cấu hình

Database

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

  • Seeds – Phần này chứa các lớp được sử dụng cho cơ sở dữ liệu thử nghiệm đơn vị.
  • Migrations − Thư mục này trợ giúp trong các truy vấn để di chuyển cơ sở dữ liệu được sử dụng trong ứng dụng web.
  • Factories – Thư mục này được sử dụng để tạo số lượng lớn các bản ghi dữ liệu.

Public

Đây là thư mục gốc giúp khởi tạo ứng dụng phía front-end cho Laravel. Nó bao gồm các tệp và thư mục sau

  • .htaccess − Tệp này cung cấp cấu hình máy chủ.
  • javascript và css – Các tệp này được coi là nội dung.
  • index.php − Tệp này được yêu cầu để khởi chạy ứng dụng web.

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 – bao gồm các tệp như LESS và SCSS, được yêu cầu để tạo kiểu cho ứng dụng web.
  • lang − Thư mục này bao gồm cấu hình để bản địa hóa(đa ngôn ngữ) hoặc nội bộ hóa.
  • views – Lượt xem là các tệp hoặc mẫu HTML tương tác với người dùng cuối và đóng vai trò chính trong kiến ​​trúc MVC.

 

Thay đổi thư mục tài nguyên

Storage

Đây là thư mục lưu trữ tất cả các bản ghi và các tệp cần thiết thường xuyên cần thiết khi một dự án Laravel 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 dưới đây –

  • app − Thư mục này chứa các tệp được gọi liên tiếp.
  • framework − Nó chứa các phiên, bộ đệm và chế độ xem được gọi thường xuyên.
  • Logs – Tất cả các ngoại lệ và nhật ký lỗi được theo dõi trong thư mục con này.

Tests

Tất cả các trường hợp kiểm tra đơn vị được bao gồm trong thư mục này. Quy ước đặt tên để đặt tên cho các lớp trường hợp thử nghiệm là camel_case và tuân theo quy ước theo chức năng của lớp.

Vendor

Laravel hoàn toàn dựa trên các các package từ Composer, ví dụ để cài đặt thiết lập Laravel hoặc bao gồm các thư viện của bên thứ ba, v.v. Thư mục Nhà cung cấp bao gồm tất cả các phụ thuộc của trình soạn thảo.

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, các 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 –

Các tập tin

Load More Related Articles
Load More By quangvu
  • Laravel – Bài 11: Error Handling

    Hầu hết các ứng dụng web đều có cơ chế cụ thể để xử lý lỗi. Bằng cách sử dụng chúng, họ th…
  • Laravel – Bài 16 Authentication (xác thực)

    Xác thực là quá trình xác định thông tin đăng nhập của người dùng. Trong các ứng dụng web,…
  • Laravel – Bài 15: Session

    Session được sử dụng để lưu trữ thông tin về người dùng trong các yêu cầu. Laravel cung cấ…
Load More In Laravel

Check Also

Tự làm web chatGPT đơn giản cho phép dùng nhiều OpenAI key

Trong thời đại công nghệ phát triển như hiện nay, chatbot đang dần trở thành một giải pháp…