[NFR]: Framework-neutral integration seam: boot and response injection without Mvc\Application
メンテナーはふだん 3 日以内に返信
@niden がすでに取り組んでいます。
2026年7月22日 から。
評価
この issue はまだ評価されていません。
説明
Summary
The debug bar can only be booted and injected against a Phalcon\Mvc\Application. This blocks non-MVC applications - notably ADR (Phalcon\ADR) - from using it at all. Introduce a framework-neutral integration seam so any application can boot the bar and inject it into an HTML response, keeping the current MVC path as a thin wrapper.
Current coupling
Phalcon\DebugBar\Provider::__construct(Application $app, array $config)requires aPhalcon\Mvc\Application, andboot()reaches into it through$app->getDI()and$app->getEventsManager().- Response injection is attached to the MVC
application:beforeSendResponseevent insideProvider::boot()(theResponseListener).
Why it does not work for ADR
- The ADR container is
Phalcon\Container\Container(implementsCollection, notPhalcon\Di\DiInterface), sogetDI()and the?DiInterfaceparameters do not fit. - The ADR stack never fires
application:beforeSendResponse. The response is available atEvent::APPLICATION_AFTER_HANDLE(Phalcon\ADR\Application) and is written out by the ADR emitter. - Data collection (the collectors' event vocabulary) is a separate concern tracked in ticket 2; this ticket covers only the boot and injection seam.
Proposed direction
- Extract a neutral core that takes only what it needs: an events manager (or none), a
Phalcon\Http\RequestInterface(or none), and an optional config source - noPhalcon\Mvc\Application, noPhalcon\Di\DiInterface. - Provide a neutral entry point to inject the rendered bar into a given
Phalcon\Http\ResponseInterface, callable at each framework's own response-emission point:- MVC: the existing
application:beforeSendResponselistener. - ADR: a listener on
APPLICATION_AFTER_HANDLE, or an emitter hook.
- MVC: the existing
- Keep
Phalcon\DebugBar\Provider(Application $app, ...)as a thin convenience wrapper over the neutral core, so MVC behavior is unchanged.
Acceptance
- The bar boots and injects into an HTML
ResponseInterfacein an application that has neither aPhalcon\Mvc\Applicationnor aPhalcon\Di\DiInterface. - The existing MVC integration (as used by
phalcon/vokuro) is unchanged.
- 主要言語
- PHP
- スター
- 6
- フォーク
- 3
- 平均マージ
- 1日 17時間
- マージ済み PR(30日)
- 3
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
phalcon/debugbar のほかの issue
-
[NFR]: History Panel enhancements対応中かも @niden が 11 日前に担当しました。 オープンenhancement
phalcon/debugbar#32 · 担当者 1 名 ·
メンテナーはふだん 3 日以内に返信
-
[NFR]: Collector source adapters for ADR data sources (DB / View / Route)再び着手できるかも @niden が 77 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement
phalcon/debugbar#16 · 担当者 1 名 ·
メンテナーはふだん 3 日以内に返信
-
[NFR]: Decouple collectors from framework event names (bridge + canonical signals)再び着手できるかも @niden が 77 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement
phalcon/debugbar#15 · 担当者 1 名 ·
メンテナーはふだん 3 日以内に返信
-
[NFR]: Debug bar support for ADR / non-MVC apps再び着手できるかも @niden が 77 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement
phalcon/debugbar#13 · 担当者 1 名 ·
メンテナーはふだん 3 日以内に返信
-
[NFR]: Services panel for DebugBar再び着手できるかも @niden が 86 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement
phalcon/debugbar#5 · 担当者 1 名 ·
メンテナーはふだん 3 日以内に返信
phalcon/debugbar の issue をすべて見る
似ている issue
-
Bug Enhancement Performance
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
Feature Status: Needs Triage
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
メンテナーはふだん 1 日以内に返信
-
frontend low-priority
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
mplodowski/dynamicpdf-plugin#336 ·
メンテナーはふだん 1 日以内に返信
-
Add Zammad対応中かも @Arslan-TR が今日担当しました。 オープンrequest
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
endoflife-date/endoflife.date#11298 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
FriendsOfFlarum/best-answer#137 ·