Skip to content

Latest commit

 

History

History
37 lines (27 loc) · 2.04 KB

File metadata and controls

37 lines (27 loc) · 2.04 KB

PHP-FIG PSR evaluation (REQ-CS-007)

Package: nowo-tech/blog-kit-bundle (symfony-bundle)

This document records which PHP-FIG PSRs apply to this package. Only contracts that add clear interoperability or maintainability value are Adopted. Others are N/A (or already covered by Symfony) so the decision stays auditable.

Baseline (always)

PSR Decision How
PSR-12 (coding style) Adopted @PSR12 in .php-cs-fixer.dist.php (Nowo REQ-CS-001).
PSR-4 (autoloading) Adopted composer.json autoload / autoload-dev PSR-4 map for package sources and tests.

Interface / contract PSRs

PSR Decision Notes
PSR-3 Logger N/A Logging calls exist but there is no public/injectable logger SPI yet; do not add psr/log without type-hints.
PSR-6 Caching Adopted Uses Psr\Cache\ contracts where item metadata/tags matter.
PSR-7 / PSR-17 HTTP messages N/A Symfony HttpFoundation (or no HTTP messages API) is the correct surface; a PSR-7 bridge would not help consumers.
PSR-18 HTTP client N/A Outbound HTTP uses Symfony HttpClientInterface (or a package transport) as the supported SPI instead of PSR-18.
PSR-11 Container N/A No container locator in the public API; constructor injection only.
PSR-14 Event dispatcher Already satisfied via Symfony Uses Symfony EventDispatcherInterface / subscribers (PSR-14 compatible). No separate FIG dependency required.
PSR-15 HTTP middleware N/A Uses Symfony kernel listeners/subscribers (or has no HTTP middleware pipeline).
PSR-20 Clock Adopted Type-hint Psr\Clock\ClockInterface for time-sensitive logic.

Summary

  • Adopted beyond baseline: PSR-6 Caching, PSR-20 Clock
  • Rule: do not add psr/* Composer dependencies without matching type-hints and DI wiring.
  • Re-evaluate when the package gains logging, HTTP, cache, clock, or event SPIs.

REQ-CS-007 evaluation date: 2026-08-21.