diff --git a/src/CliProgram/AutoDiscoveryApplication.php b/src/CliProgram/AutoDiscoveryApplication.php index 07bf619..5203c8e 100644 --- a/src/CliProgram/AutoDiscoveryApplication.php +++ b/src/CliProgram/AutoDiscoveryApplication.php @@ -49,13 +49,14 @@ trait AutoDiscoveryApplication { /** * Add discovered commands to application * - * @return void + * @return $this */ - public function addDiscoveredCommands (): void { + public function addAutoDiscoveredCommands (): self { foreach ($this->getAutoDiscoverySpots() as $autoDiscoverySpot) { foreach ($autoDiscoverySpot->getCommands() as $command) { $this->add($command); } } + return $this; } } \ No newline at end of file diff --git a/src/CliProgram/AutoDiscoverySpot.php b/src/CliProgram/AutoDiscoverySpot.php index 557b26d..b17d156 100644 --- a/src/CliProgram/AutoDiscoverySpot.php +++ b/src/CliProgram/AutoDiscoverySpot.php @@ -83,7 +83,7 @@ class AutoDiscoverySpot implements IAutoDiscoverySpot { * @param string $directoryPath The directory path * @param bool $processSubDirectories True if search in subdirectories too, else False * - * @return (ICommand&Command)[] Spot's classes + * @return Command[] Spot's classes */ private static function getClassesOfDirectory (string $directoryPath, bool $processSubDirectories): array { $classes = []; @@ -115,7 +115,6 @@ class AutoDiscoverySpot implements IAutoDiscoverySpot { if ($class->isAbstract() || $class->isInterface() || $class->isTrait() - || !$class->implementsInterface(ICommand::class) || !is_subclass_of($class->getName(), Command::class) ) { continue; diff --git a/src/CliProgram/BaseCommand.php b/src/CliProgram/BaseCommand.php index 8909e29..cd8116f 100644 --- a/src/CliProgram/BaseCommand.php +++ b/src/CliProgram/BaseCommand.php @@ -7,7 +7,7 @@ use Symfony\Component\Console\Command\Command; /** * A basic command */ -class BaseCommand extends Command implements ICommand { +class BaseCommand extends Command { /** * Initialize the command * diff --git a/src/CliProgram/IAutoDiscoverySpot.php b/src/CliProgram/IAutoDiscoverySpot.php index 1e04d29..39b899b 100644 --- a/src/CliProgram/IAutoDiscoverySpot.php +++ b/src/CliProgram/IAutoDiscoverySpot.php @@ -11,7 +11,7 @@ interface IAutoDiscoverySpot { /** * Spot's commands * - * @return (ICommand&Command)[] Spot's commands + * @return Command[] Spot's commands */ public function getCommands (): array; } \ No newline at end of file diff --git a/src/CliProgram/ICommand.php b/src/CliProgram/ICommand.php deleted file mode 100644 index c45d456..0000000 --- a/src/CliProgram/ICommand.php +++ /dev/null @@ -1,21 +0,0 @@ -