Costruisci qualsiasi cosa. Senza forkare il core.

AcelleMail è una piattaforma di email marketing Laravel 11+ con una superficie di estensibilità che va ben oltre i semplici callback. Sending driver, gateway di pagamento, agenti AI, pagine admin personalizzate, slot UI a livello di pagina, REST endpoint, listener di lifecycle — ognuno di essi viene distribuito come plugin autocontenuto sotto il tuo namespace. Questo è il riferimento completo: undici approfondimenti, basati sul codice sorgente canonico in storage/app/plugins/, App\Library\HookManager e app/Model/Plugin.php.

Parti dalle fondamenta ↓ Hello World in 5 min
Superfici di estensione
14
Pattern Hook
4
Pagine di approfondimento
11
Tempo di lettura
~3h
Basato sul sorgente
100%

Come usare questa documentazione

Leggi in ordine se stai partendo da zero — ogni pagina si costruisce su quella precedente. Atterra su una singola pagina dalla ricerca se sai già cosa ti serve: ogni approfondimento è autonomo, con il suo breadcrumb, l'indice sticky e la navigazione precedente/successivo.

Ogni affermazione su ogni pagina è tracciata fino a un file sorgente sotto l'albero dei docs del plugin della piattaforma (docs/plugin/, docs/sending-server-polymorphism/, docs/payment-order-plan-subscription-saas/) o all'implementazione live storage/app/plugins/Aurius/. Se un'affermazione non può essere citata, viene scartata — non parafrasata.

Tempo di lettura, da capo a fondo: ~3 ore. Per shippare un plugin reale, conta un pomeriggio — l'esempio Hello World si scaffold in cinque minuti, e l'esempio più lungo (un sending driver con Postal MTA) è circa un'ora da plugin:init fino a un integration test che passa.

02 — COSTRUIRE

Shippa una feature reale.

Esempi pratici per i quattro pattern più richiesti: un nuovo sending driver (Postal MTA), un gateway di pagamento regionale (Paddle), una superficie UI admin personalizzata (la chatbox Aurius) e tabelle database isolate per plugin.

Filosofia di design

Il core dichiara i punti di estensione. I plugin reagiscono.
Il core non sa mai che il tuo plugin esiste.

Inversione di dipendenza

Il codice core non viene mai importato da un plugin, e un plugin non viene mai importato dal core. Il sistema Hook sta tra loro come unico contratto. Aggiorna il core, il tuo plugin continua a funzionare — finché il nome e la signature dell'hook restano stabili, e noi li versioniamo.

Quattro pattern, non di più

REGISTRY, EVENT, BEHAVIOR, FILTER — gli unici verbi che il sistema Hook parla. La semantica dei conflitti è esplicita per pattern: REGISTRY fa merge, EVENT all-fire, FILTER concatena, BEHAVIOR è esclusivo (due caller lanciano immediatamente, niente override silenzioso).

Il tuo namespace, per sempre

I plugin vivono sotto MyVendor\MyPlugin\, completamente isolati dal namespace della piattaforma core. Componi, vendi, fai white-label, forka — il tuo plugin è tuo. La Extended License concede la redistribuzione commerciale.

Source of truth: il codice

Ogni pagina in questo albero docs linka il percorso file canonico da cui è stata tracciata. Se un doc è in disaccordo con il codice, vince il codice — apri una issue e aggiorniamo il doc, non il contrario. Niente copia-incolla legacy, niente API aspirazionali.

Apri il sorgente. Estendi la piattaforma.

PHP completo non cifrato. Aggiornamenti a vita. Il sistema Hook. Plugin reali di produzione da cui imparare. Licenza una tantum — niente abbonamenti, niente fee per-subscriber, niente squatting di namespace.

Acquista Extended License — $199 Torna alla landing developer