diff --git a/src/Illuminate/Console/Application.php b/src/Illuminate/Console/Application.php index 9e3990c7613e..a2b926b7cc88 100755 --- a/src/Illuminate/Console/Application.php +++ b/src/Illuminate/Console/Application.php @@ -216,7 +216,7 @@ public function output() public function addCommands(array $commands): void { foreach ($commands as $command) { - $this->add($command); + $this->addCommand($command); } } @@ -228,6 +228,17 @@ public function addCommands(array $commands): void */ #[\Override] public function add(SymfonyCommand $command): ?SymfonyCommand + { + return $this->addCommand($command); + } + + /** + * Add a command to the console. + * + * @param \Symfony\Component\Console\Command\Command|callable $command + * @return \Symfony\Component\Console\Command\Command|null + */ + public function addCommand(SymfonyCommand|callable $command): ?SymfonyCommand { if ($command instanceof Command) { $command->setLaravel($this->laravel); @@ -244,6 +255,11 @@ public function add(SymfonyCommand $command): ?SymfonyCommand */ protected function addToParent(SymfonyCommand $command) { + if (method_exists(SymfonyApplication::class, 'addCommand')) { + /** @phpstan-ignore staticMethod.notFound */ + return parent::addCommand($command); + } + return parent::add($command); }