laminas/laminas-developer-tools
Laminas Developer Tools provides a developer toolbar and profiling collectors for Laminas MVC applications. It helps inspect requests, database queries, logs, performance metrics, and configuration during development, with integration for the Laminas ecosystem.
Architecture fit. laminas/laminas-developer-tools is not a Laravel package. It is a module for Laminas MVC (formerly Zend Framework) and is architected around Laminas-specific primitives: the ModuleManager bootstrap cycle, the EventManager (attaching listeners to dispatch, render, finish), the ServiceManager for collector wiring, and ZF view helpers/strategies for the injected toolbar. It assumes a Laminas Application and a Laminas router/view pipeline. In a Laravel/Symfony-style application, none of these lifecycle hooks exist in the same shape, so the module's collectors and toolbar will not attach themselves without a bridging layer.
Integration feasibility in a Laravel stack — low. There is no ServiceProvider, no Laravel package auto-discovery, no facade or config file in the Laravel idiom. To use it under Laravel you would need to (a) bootstrap Laminas' EventManager and ServiceManager inside the Laravel container, (b) manually fire Laminas-style MVC events around Laravel's request lifecycle, and (c) re-implement the toolbar response-injection strategy on top of Laravel's middleware/response objects. That is a bespoke adapter project, not a composer require. As a TPM the realistic read is: this package is effectively out of scope for a Laravel-based product, and its function (request timing, memory, SQL query capture, event log) is already served in Laravel by barryvdh/laravel-debugbar and laravel/telescope.
Technical risk. High if used in the target Laravel context, low-to-moderate inside its native Laminas context. Specific risks: last release Dec 2024 with ~24 stars indicates a narrow, low-traffic dependency; it is a development-only tool that, if accidentally enabled in production, injects HTML into responses and can leak SQL/query data and configuration. The toolbar injection is incompatible with non-HTML responses (JSON/API, streams, file downloads) unless carefully gated. Profiling storage (file/session based) adds I/O overhead per request.
Key questions for the TPM to resolve.
EventManager to write custom collectors, or will they only consume the default toolbar?Stack fit. Native fit is Laminas MVC / Zend Framework with laminas-db adapters. Fit against Laravel is not supported; treat it as an unrelated framework. If the portfolio contains both, scope this package to the Laminas services only and use a separate tool for Laravel.
Migration path. If the team is migrating a Zend/Laminas app toward Laravel, do not port this package — swap it at the boundary: Debugbar for the overlay/toolbar, Telescope for query/event/request inspection. Keeping the Laminas developer-tools alive through a migration adds an adapter to maintain for a tool that disappears at cutover. Conversely, if starting a fresh Laminas app, install as a require-dev module and enable only in the development config.
Compatibility. Verify PHP 8.x support and the matching laminas-mvc, laminas-eventmanager, and laminas-db version constraints; the module is tightly coupled to MVC minor versions. SQL query collection only works for queries executed through laminas-db adapters — Doctrine, raw PDO, or a different DB layer will show nothing, which is a common surprise. Confirm the toolbar renders correctly against the app's layout/view strategy and that the report view is reachable.
Sequencing.
APP_ENV=development/APP_DEBUG.EventManager-based collectors after the baseline works.Maintenance. Community-maintained under BSD-3-Clause; low star count and modest release cadence (latest Dec 2024) mean fixes for framework/PHP bumps may lag. Plan to pin the version and be prepared to drop the dependency if it goes stale. Treat it as non-critical dev tooling with a low-cost exit.
Support. No commercial support; reliance on Laminas community and docs. Because it is dev-only, support expectations should be low — breakage blocks developers, not customers.
Scaling. This is a per-developer, per-request dev tool. Profiling writes and toolbar rendering add request overhead and storage growth; it must never run in production or under load test. In multi-tenant or autoscaled dev environments, file-based profile storage can collide or accumulate — ensure storage location is per-instance or cleaned up.
Failure modes.
laminas-db data access.laminas-mvc/PHP upgrades causing the module to fail boot or break layout rendering.Ramp-up. Engineers need working knowledge of Laminas EventManager/ServiceManager to extend collectors and to diagnose why a metric is missing. For a team without Zend/Laminas background this is a real onboarding cost for a debugging-only tool — which reinforces using the framework-native equivalent. Net TPM recommendation: do not adopt in a Laravel context; standardize on Laravel Debugbar/Telescope. Adopt only for Laminas MVC services, as a dev-only, version-pinned dependency with explicit production guardrails.
How can I help you explore Laravel packages today?