ezsystems/ez-support-tools
Laravel support toolkit for debugging and maintenance: inspect app and environment details, run health checks, gather logs/config snapshots, and expose helpful artisan commands to speed up troubleshooting in production and local setups.
Purpose Alignment:
The ezsystems/ez-support-tools package (v2.3.12) remains focused on diagnostics, logging, and issue identification for Laravel/PHP applications. Its alignment with:
Modularity:
The package continues to follow a Symfony-style "Bundle" structure, implying plug-and-play compatibility with Laravel. However, no explicit Laravel 10+ support is confirmed, and its reliance on Symfony components (e.g., EventDispatcher, HttpFoundation) may introduce integration friction.
Extensibility: Future-proofing remains uncertain due to:
Illuminate\Contracts\Container\Container).Core Features:
phpinfo() or custom probes. Integration via middleware, commands, or API endpoints remains viable.Exception handler or Log channel, integration is straightforward but may lack modern Laravel patterns (e.g., no native support for Laravel\ErrorReporting).Dependencies:
symfony/http-client may conflict with Laravel’s Http facade.symfony/process could require wrapping in Illuminate\Support\Facades\Process.| Risk Area | Severity | Mitigation |
|---|---|---|
| Laravel Version Support | High | Test rigorously on Laravel 10+; fork or patch if using deprecated APIs. |
| Symfony vs. Laravel APIs | Medium | Abstract Symfony dependencies (e.g., use Illuminate\Contracts\* facades). |
| Performance Overhead | Low | Ensure diagnostics are opt-in (e.g., APP_DEBUG mode only). |
| Data Privacy | High | Sanitize outputs (e.g., redact sensitive data in phpinfo() dumps). |
| Maintenance Status | Critical | Fork the package if no updates are planned; monitor for abandonware. |
| Feature Stagnation | Medium | Evaluate alternatives (e.g., Laravel Telescope, Spatie Debugbar) if critical features are missing. |
Laravel\ErrorReporting, Laravel Telescope, or Spatie Debugbar?symfony/http-client).Assessment Phase:
composer why-not ezsystems/ez-support-tools
composer validate
Integration Steps:
composer require ezsystems/ez-support-tools:^2.3.12
php artisan ez-support-tools:install
SupportToolsServiceProvider in config/app.php.php artisan vendor:publish --tag=ez-support-tools
Symfony\Component\Process\Process → Illuminate\Support\Facades\Process).ServiceProvider and Command classes.Feature Adoption:
/support-info).php artisan ez-support-tools:generate-report
Exception handler:
// app/Exceptions/Handler.php
public function report(Throwable $exception) {
if ($exception instanceof \SomeCriticalError) {
$report = app(EzSupportTools\ReportGenerator::class)->create();
// Store or send $report to support team.
}
}
// app/Console/Kernel.php
protected function schedule(Schedule $schedule) {
$schedule->command('ez-support-tools:health-check')->daily();
}
| Laravel Component | Compatibility Risk | Workaround |
|---|---|---|
| Service Container | May use Symfony\Component\DependencyInjection\ContainerInterface. |
Use Illuminate\Contracts\Container\Container facade. |
| Routing | Assumes Symfony’s Router or Laravel’s RouteServiceProvider. |
Extend RouteServiceProvider to include bundle routes. |
| Logging | May log to Psr\Log\LoggerInterface without Laravel’s monolog integration. |
Configure to use Illuminate\Support\Facades\Log. |
| Console Commands | Commands may not extend Illuminate\Console\Command. |
Override with Laravel’s base class. |
| Database | May use Doctrine DBAL or raw PDO. | Abstract queries to use Laravel’s DB facade. |
| Events | May dispatch Symfony EventDispatcher events. |
Use Laravel’s Event facade or create adapters. |
/debug/support route).How can I help you explore Laravel packages today?