Phase 1 sub-commit 2: Symfony bundle internals
All checks were successful
CI / Quality (push) Successful in 4s

Bundle code for php-qml/bridge: BridgeBundle (AbstractBundle, autoloads
config/services.yaml), Publisher (thin wrapper over Mercure HubInterface
that enforces envelope-as-JSON), SessionAuthenticator (bearer-token
custom Symfony authenticator with problem+json failures), and
HealthController (GET /healthz readiness probe).

Composer constraints bumped to Symfony ^8.0 across the board (per user
request); mercure component to ^0.7. PHPUnit 11 suite covers Publisher
publish + private flag and SessionAuthenticator support/auth/failure
paths — 8 tests, 22 assertions, all green.

PLAN.md §13 updated to record the Symfony 8 minimum.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-02 01:05:19 +02:00
parent 9001386f92
commit eafe12b588
11 changed files with 356 additions and 3 deletions

View File

@@ -584,7 +584,7 @@ Phase 1 turns the spike into the smallest dev-mode-only framework that can repla
| PHP namespace | `PhpQml\Bridge\` |
| Qt module URI | `PhpQml.Bridge` |
| C++ namespace | `PhpQml::Bridge` |
| Symfony minimum | `^7.1` |
| Symfony minimum | `^8.0` |
| PHP minimum | `^8.3` |
| Qt minimum | `6.5 LTS` (build), `6.11` is what's on the dev box |