コアを fork せずに、なんでも作る。

AcelleMail はコールバックを大きく超える拡張表面を備えた Laravel 11+ のメールマーケティングプラットフォームです。送信ドライバー、決済ゲートウェイ、AI エージェント、カスタム管理ページ、ページレベルの UI スロット、REST エンドポイント、ライフサイクルリスナー — そのいずれもが、自前の名前空間下に self-contained なプラグインとして出荷できます。本書は完全リファレンスです。storage/app/plugins/App\Library\HookManagerapp/Model/Plugin.php の標準コードパスに対してソース根拠付きで書かれた、11 個のディープダイブ。

基礎から始める ↓ 5 分で Hello World
拡張表面
14
Hook パターン
4
ディープダイブページ
11
読了時間
約 3 時間
ソース根拠
100%

本ドキュメントの読み方

新規であれば順番に読み進めてください — 各ページは前のページの上に積み上がります。必要なものが既に分かっている場合は、検索から直接 1 ページに着地して問題ありません。各ディープダイブは独自のパンくず、固定 TOC、prev/next ナビゲーションを備え、単独で完結します。

各ページの各主張は、プラットフォームのプラグインドキュメントツリー (docs/plugin/docs/sending-server-polymorphism/docs/payment-order-plan-subscription-saas/) または稼働中の storage/app/plugins/Aurius/ 実装にあるソースファイルへ遡れます。引用できない主張は削除し、言い換えはしません。

エンドツーエンドの読了時間: 約 3 時間。実プラグインを出荷するには 1 日の半分を見込んでください — Hello World サンプルはスキャフォルドに 5 分、最長の実例 (Postal MTA の送信ドライバー) は plugin:init から統合テスト通過まで約 1 時間です。

01 — 基礎

まず頭の中のモデルを作る。

「Composer、ServiceProvider、ってなに?」の状態から、最初の Hook::add(...) を自信を持って書けるところまで導く 3 ページ。順番にお読みください。残りのドキュメントは、このロードフローと 4 パターンのフック分類を前提とします。

02 — 構築

実際の機能を出荷する。

最もよく聞かれる 4 パターンの実例: 新しい送信ドライバー (Postal MTA)、地域決済ゲートウェイ (Paddle)、カスタム管理 UI 表面 (Aurius チャットボックス)、プラグイン分離データベーステーブル。

sending-drivers 公開中

送信ドライバー — フルプラグインパターン

コアを fork せずに新しい MTA バックエンドを出荷する。register_sending_server_driver 契約、ドライバークラス + 9 つの capability マーカー、バリデーションパイプライン、接続 Blade、Webhook コントローラ、Identity / Warmup。Postal MTA プラグインの静的レビューに対してエンドツーエンドで解説。

読了 19 分 読む →
payment-gateways 公開中

決済ゲートウェイ — Cashier 契約

プルモデル、Webhook なし。BillingManager レジストリ、4 つの capability Interface、Paddle を題材とした実例、PaymentIntent ステートマシン、TBANK の通貨デフォルトの教訓に基づくベンダー境界規律 5 ルール。

読了 17 分 読む →
ui-injection 公開中

UI 注入 — レイアウト、サイドバー、ページスロット

3 つのレイアウト REGISTRY フック (layout.head.assetslayout.body.before_closeadmin.sidebar.groups) と page.{controller}.{action}.{slot} 契約。Aurius のチャットボックスバブルパターンをエンドツーエンドで、リダイレクト用 FILTER バリアントと 6 つのアンチパターンも。

読了 16 分 読む →
database-models 公開中

データベース & モデル — プラグイン分離

<plugin>/database/migrations/ 配下のマイグレーション、ベンダー接頭辞付きテーブル名、activate-runs / delete-rolls-back ライフサイクル、コアテーブルへの外部キー、$keepData フラグ、14 マイグレーションの Aurius ショーケース。

読了 13 分 読む →
04 — リファレンス

実際の本番コードを読む。

最も深い学びは Hello World ではなく実プラグインから得られます。Aurius は標準的な複雑プラグイン — 8 モデル、12 マイグレーション、18 ロケール。上記すべての概念を 1 つの出荷コードベースにマッピングするためにショーケースを活用してください。

設計思想

コアが拡張点を宣言する。プラグインがそれに反応する。
コアはあなたのプラグインの存在を知ることがない。

依存関係の反転

コアコードがプラグインから import されることはなく、プラグインがコアから import されることもありません。Hook システムだけが両者の間に置かれる唯一の契約です。コアをアップグレードしてもプラグインは動作し続けます — フック名とシグネチャが安定している限り。これらにはバージョンスタンプが付与されます。

4 パターンのみ

REGISTRY、EVENT、BEHAVIOR、FILTER — Hook システムが話す唯一の動詞です。コンフリクト挙動はパターンごとに明示的です: REGISTRY はマージ、EVENT は全件発火、FILTER はチェイン、BEHAVIOR は排他的 (2 呼び出しは即時に throw、暗黙の上書きはしません)。

あなたの名前空間は永続

プラグインは MyVendor\MyPlugin\ 配下に存在し、コアプラットフォームの名前空間からは完全に分離されています。組み立て、販売、ホワイトラベル、fork — プラグインはあなたのものです。Extended ライセンスは商用再配布を許諾します。

真実の源: コード

本書ツリーの各ページには、その内容を辿った標準ファイルパスがリンクされています。ドキュメントとコードが食い違っていた場合、コードが勝ちます — issue を立ててドキュメントを更新します。逆ではありません。レガシーのコピペや構想段階の API はありません。

ソースを開く。プラットフォームを拡張する。

完全な非暗号化 PHP。生涯アップデート。Hook システム。学べる実プラグイン群。買い切りライセンス — サブスクリプションなし、受信者単位の課金なし、名前空間の独占なし。

Extended ライセンスを購入 — $199 開発者ランディングに戻る