phalcon / phalcon/debugbar

[NFR]: Collector source adapters for ADR data sources (DB / View / Route)

Open
#16 0 comments 0 reactions 1 assignee View on GitHub

@niden is already working on this.

Since Jul 22, 2026.

enhancement
Dominant language
PHP
Stars
5
Forks
3
Avg merge
2d 23h
Merged PRs (30d)
3

Description

Summary

Even once collectors are decoupled from event names, three collectors have no data source under ADR, because the ADR stack uses different technologies than MVC. Provide one source adapter per collector, selectable per application, so DB, View, and Route data can be collected in an ADR app (phalcon/vokuro-adr as the reference).

Missing data sources under ADR
  • Database - ADR uses Phalcon\DataMapper\Pdo\Connection, which does not fire db:beforeQuery / db:afterQuery. Needs a DataMapper source (a profiler or a decorating connection) alongside the MVC Db\Adapter (events) source - two adapters feeding one query signal.
  • View - ADR renders .phtml through Phalcon\Mvc\View\Simple with no events manager attached, so view:* never fires. Needs a source that instruments the ADR renderer/responder, or attaches an events manager to Simple.
  • Route - ADR uses Phalcon\ADR\Router, not the MVC router, so router:matchedRoute never fires. Needs an ADR route source.
Proposed direction
  • Define a per-collector source contract, and provide two implementations where relevant (MVC and ADR/DataMapper). The active bridge selects the appropriate source.
  • Ship the DataMapper DB source as the first concrete second-adapter - the most valuable, and the clearest example of "two adapters, one collector".
Acceptance
  • In an ADR app, the Database, View, and Route collectors show real data.
  • The MVC sources are unchanged.
Depends on
  • #15

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.