Cấu trúc thư mục module trong Magento 2
Trong bài viết này mình sẽ giới thiệu với các bạn về cấu trúc thư mục module trong Magento 2. Giúp chúng ta hiểu rõ hơn về chức năng của từng thư mục.
Mặc định thư mục module được nằm trong app/code đây là một thư mục trong cấu trúc thư mục gốc của Magento 2. Thư mục module có dạng là app/code/vendor_name/module_name.
Tổng quan cấu trúc thư mục module Magento 2
Thư mục chung, thư mục module phổ biến:
- Block: Chứa các lớp chịu trách nhiệm chuẩn bị dữ liệu để hiển thị thông qua template lên trang web. Nội dung của hầu hết mọi trang Magento 2 được hiển thị thông qua các lớp block.
- Controller: Chứa các lớp điều khiển php
- etc: Chứa các tệp cấu hình, đây là thư mục lõi của module chứa file module.xml 1 file bắt buộc.
- Model: Chứa các lớp mô hình, các mô hình này chịu trách nhiệm làm việc với database, xuất/nhập thông tin từ database và xử lý nó.
- Setup: Chứa các lớp giúp cấu trúc database module và thiết lập dữ liệu, các hành động này được thực hiện trong quá trình cài đặt hoặc nâng cấp.
- view: Chứa các file template, file CSS và JS, file layout, mẫu email.
Thư mục bổ sung:
- Api: Chứa những lớp PHP được hiển thị với API.
- Console: Chứa các lớp chịu trách nhiệm thực hiện các lênh CLI(php bin/magento) trên Magento 2.
- Cron: Chứa các lớp sử dụng để khởi chạy các tác vụ cron.
- CustomerData: Chứa các lớp phần trong Magento 2, được sử dụng để lưu trữ thông tin của người dùng, các thông tin được tải qua ajax làm tăng tốc độ tải trang.
- Helper: Chứa chức năng tổng hợp.
- i18n: Chứa các tệp CSV để đa ngôn ngữ hóa module.
- Observer: Chứa các lớp quan sát phản ứng với các sự kiện khác nhau (vd: tạo đơn hàng) để thực hiện một số hoạt động bổ sung.
- Plugin: Chứa các plugin cần thiết.
- UI: Chứa các lớp thành phần UI được sử dụng để tiếp nhận, xử lý và hiển thị dữ liệu trong bảng quản trị của trang web.
Vậy là mình đã giới thiệu xong với các bạn về cấu trúc, chức năng của các thư mục trong module.
Cảm ơn các bạn đã đọc bài viết.