zendframework/zend-router
Flexible HTTP router for Zend Framework, supporting literal/segment/regex paths, scheme, method, and hostname matching, with fast tree-based route combinations. Note: repository abandoned 2019-12-31; moved to laminas/laminas-router.
Architecture fit: Framework-agnostic PSR-7/15 middleware stack design remains misaligned with Laravel/Symfony ecosystems. While PHP 7.3 support is added, the package still lacks modern PHP 8+ features (e.g., typed properties, attributes) and PSR-17 HTTP factories. Archived status persists, introducing compatibility risks with Laravel’s Symfony-based routing system.
Integration feasibility: Critical risk remains. Manual PSR-7 request/response handling is still required, with no Laravel-specific adapters. The removal of zend-stdlib v2 support (a legacy dependency) may break existing integrations. No Composer updates since 2019, and no security patches for known vulnerabilities (e.g., CVE-2020-12633) in underlying Zend components.
Technical risk: Extreme. PHP 7.3 support is insufficient for modern Laravel (PHP 8.1+). The package’s archival status guarantees no future updates, and dependency conflicts with Laravel’s symfony/routing or illuminate/routing are inevitable. Legacy Zend patterns (e.g., Zend\Stdlib) are incompatible with Laravel’s service container and middleware pipeline.
Key questions:
zend-stdlib v2 removal.)RouteServiceProvider or API resource routing?Stack fit: Incompatible with Laravel’s native stack. The package’s PSR-7/15 focus clashes with Laravel’s Symfony Routing integration. No middleware or service provider hooks exist for Laravel’s ecosystem (e.g., Route::group(), API resources, or model binding). PHP 7.3 support is irrelevant to Laravel’s PHP 8.1+ requirement.
Migration path: Immediate replacement recommended. If adopted, treat as a temporary stopgap for legacy systems. For new projects, avoid entirely—use Laravel’s built-in router or PSR-15 alternatives like fastroute/fast-route. If legacy code requires this, wrap it in a deprecated module and migrate to Laminas Router or Symfony Routing within 3 months.
Compatibility: Fails Laravel’s requirements. PHP 7.3 support is insufficient, and zend-stdlib v2 removal may break existing integrations. Conflicts with Laravel’s symfony/http-foundation (PSR-7) and psr/http-message implementations are guaranteed. No testing against Laravel’s middleware stack (e.g., Illuminate\Pipeline).
Sequencing:
Maintenance: Prohibitive. Team must:
zend-stdlib.composer.json constraints (e.g., php: ^8.1).Support: Nonexistent. Community is inactive (archived repo), and Laravel-specific issues will go unanswered. No vendor support; GitHub issues are closed. Debugging will require reverse-engineering deprecated Zend patterns.
Scaling: Unreliable. While routing logic itself may scale, unpatched edge cases (e.g., regex injection, parameter binding) could cause silent failures. No performance optimizations for PHP 8+ (e.g., JIT, opcache). High-traffic Laravel apps risk crashes due to dependency conflicts.
Failure modes:
zend-stdlib or PSR-7 handlers.Illuminate\Pipeline expects PSR-15 middleware).Zend\Stdlib behavior.Ramp-up: Steep and risky. New engineers must:
Route::resource() support).How can I help you explore Laravel packages today?