Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[NFR]: Framework-neutral integration seam: boot and response injection without Mvc\Application

Đang mở
#14 0 bình luận 0 reaction 1 người được giao Xem trên GitHub

@niden đang làm issue này rồi.

Từ ngày 22/7/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

enhancement
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 a Phalcon\Mvc\Application, and boot() reaches into it through $app->getDI() and $app->getEventsManager().
  • Response injection is attached to the MVC application:beforeSendResponse event inside Provider::boot() (the ResponseListener).
Why it does not work for ADR
  • The ADR container is Phalcon\Container\Container (implements Collection, not Phalcon\Di\DiInterface), so getDI() and the ?DiInterface parameters do not fit.
  • The ADR stack never fires application:beforeSendResponse. The response is available at Event::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 - no Phalcon\Mvc\Application, no Phalcon\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:beforeSendResponse listener.
    • ADR: a listener on APPLICATION_AFTER_HANDLE, or an emitter hook.
  • 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 ResponseInterface in an application that has neither a Phalcon\Mvc\Application nor a Phalcon\Di\DiInterface.
  • The existing MVC integration (as used by phalcon/vokuro) is unchanged.
Ngôn ngữ chính
PHP
Star
6
Fork
3
Merge trung bình
2 ngày 14 giờ
Pull request đã merge (30 ngày)
4

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của phalcon/debugbar

Tất cả issue của phalcon/debugbar

Issue tương tự

Thêm issue về PHP

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.