forked from fa/breadcrumb-the-shire
- ConsoleApplication.discoverCommands() scans lib/Console/Commands/ automatically; adding a new command no longer requires editing bin/console - Command base class provides bootstrapApp(), bootstrapModuleApp(), requireBinScript() and projectRoot() helpers — eliminates fragile 4-level relative require_once paths - Per-command --help support via optional usage() method on Command - Docker-compose scheduler updated to use bin/console scheduler:run - Old bin scripts now emit deprecation hint to stderr when called directly Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
30 lines
685 B
PHP
30 lines
685 B
PHP
<?php
|
|
|
|
namespace MintyPHP\Console\Commands;
|
|
|
|
use MintyPHP\Console\Command;
|
|
|
|
final class DoctorCommand extends Command
|
|
{
|
|
public function name(): string
|
|
{
|
|
return 'doctor';
|
|
}
|
|
|
|
public function description(): string
|
|
{
|
|
return 'Run system health checks';
|
|
}
|
|
|
|
public function execute(array $args, array $options): int
|
|
{
|
|
// doctor.php calls exit() internally — run as subprocess
|
|
// to avoid terminating the console process.
|
|
$scriptPath = $this->projectRoot() . '/bin/doctor.php';
|
|
$command = PHP_BINARY . ' ' . escapeshellarg($scriptPath);
|
|
passthru($command, $exitCode);
|
|
|
|
return $exitCode;
|
|
}
|
|
}
|