Xây dựng bất cứ thứ gì. Không cần fork core.

AcelleMail là nền tảng email marketing chạy trên Laravel 11+, với mặt phẳng mở rộng đi xa hơn callback rất nhiều. Sending driver, payment gateway, AI agent, trang admin tuỳ biến, các slot UI ở cấp page, REST endpoint, lifecycle listener — tất cả đều ship dưới dạng một plugin tự đóng gói, nằm trong namespace của chính bạn. Đây là tham khảo đầy đủ: mười một bài đào sâu, dẫn nguồn trực tiếp tới các code path chính tắc trong storage/app/plugins/, App\Library\HookManager, và app/Model/Plugin.php.

Bắt đầu từ nền móng ↓ Hello World trong 5 phút
Mặt phẳng mở rộng
14
Mẫu hook
4
Trang đào sâu
11
Thời gian đọc
~3h
Dẫn nguồn từ code
100%

Cách dùng bộ tài liệu này

Đọc tuần tự nếu bạn mới bắt đầu — mỗi trang đều dựa trên trang trước đó. Có thể vào thẳng một trang từ kết quả tìm kiếm nếu bạn đã biết mình cần gì: mỗi bài đào sâu đều đứng độc lập, có breadcrumb riêng, mục lục sticky và điều hướng prev/next.

Mọi khẳng định trên mọi trang đều được truy ngược về một file nguồn trong cây docs plugin của nền tảng (docs/plugin/, docs/sending-server-polymorphism/, docs/payment-order-plan-subscription-saas/) hoặc về phần triển khai live trong storage/app/plugins/Aurius/. Nếu một khẳng định không trích dẫn được code, nó bị bỏ — không diễn giải lại.

Thời gian đọc, từ đầu tới cuối: ~3 giờ. Để ship một plugin thật, hãy dành nguyên một buổi chiều — mẫu Hello World mất năm phút để scaffold, còn ví dụ dài nhất (một sending driver với Postal MTA) tốn khoảng một giờ từ plugin:init tới một integration test xanh.

02 — XÂY DỰNG

Ship một feature thật.

Ví dụ làm việc cho bốn mẫu được hỏi nhiều nhất: một sending driver mới (Postal MTA), một payment gateway theo vùng (Paddle), một surface UI admin tuỳ biến (chatbox Aurius), và các bảng database tách biệt theo plugin.

Triết lý thiết kế

Core khai báo các extension point. Plugin phản ứng lại.
Core không bao giờ biết plugin của bạn tồn tại.

Đảo ngược phụ thuộc

Code core không bao giờ được plugin import, và plugin không bao giờ được core import. Hook system ngồi giữa hai bên như hợp đồng duy nhất. Nâng cấp core, plugin của bạn vẫn chạy — miễn là tên hook và signature giữ nguyên, mà chúng tôi gắn version-stamp đàng hoàng.

Bốn mẫu, không hơn

REGISTRY, EVENT, BEHAVIOR, FILTER — những động từ duy nhất Hook system biết. Semantics khi xung đột được nêu rõ theo từng mẫu: REGISTRY merge, EVENT bắn cho tất cả, FILTER nối chuỗi, BEHAVIOR độc quyền (hai bên gọi thì throw ngay, không có override im lặng).

Namespace của bạn, mãi mãi

Plugin sống dưới MyVendor\MyPlugin\, tách biệt hoàn toàn khỏi namespace của nền tảng core. Compose, bán, white-label, fork — plugin của bạn là của bạn. Extended License cho phép phân phối lại có tính thương mại.

Nguồn sự thật: chính code

Mọi trang trong cây docs này đều dẫn link tới path file chính tắc mà nó được truy ngược về. Nếu doc nói khác code, code thắng — mở issue và chúng tôi sửa doc, không phải ngược lại. Không copy-paste lỗi thời, không API mang tính ước vọng.

Mở source. Mở rộng nền tảng.

Toàn bộ mã PHP không mã hoá. Cập nhật trọn đời. Hook system. Plugin production thật để học theo. License trả một lần — không subscription, không phí theo subscriber, không giành namespace.

Mua Extended License — $199 Quay lại trang dành cho lập trình viên