package and depencies

This commit is contained in:
RafficMohammed
2023-01-08 02:57:24 +05:30
parent d5332eb421
commit 1d54b8bc7f
4309 changed files with 193331 additions and 172289 deletions

View File

@@ -22,21 +22,17 @@ interface CommandLoaderInterface
/**
* Loads a command.
*
* @return Command
*
* @throws CommandNotFoundException
*/
public function get(string $name);
public function get(string $name): Command;
/**
* Checks if a command exists.
*
* @return bool
*/
public function has(string $name);
public function has(string $name): bool;
/**
* @return string[]
*/
public function getNames();
public function getNames(): array;
}

View File

@@ -12,6 +12,7 @@
namespace Symfony\Component\Console\CommandLoader;
use Psr\Container\ContainerInterface;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Exception\CommandNotFoundException;
/**
@@ -21,8 +22,8 @@ use Symfony\Component\Console\Exception\CommandNotFoundException;
*/
class ContainerCommandLoader implements CommandLoaderInterface
{
private $container;
private $commandMap;
private ContainerInterface $container;
private array $commandMap;
/**
* @param array $commandMap An array with command names as keys and service ids as values
@@ -33,10 +34,7 @@ class ContainerCommandLoader implements CommandLoaderInterface
$this->commandMap = $commandMap;
}
/**
* {@inheritdoc}
*/
public function get(string $name)
public function get(string $name): Command
{
if (!$this->has($name)) {
throw new CommandNotFoundException(sprintf('Command "%s" does not exist.', $name));
@@ -45,18 +43,12 @@ class ContainerCommandLoader implements CommandLoaderInterface
return $this->container->get($this->commandMap[$name]);
}
/**
* {@inheritdoc}
*/
public function has(string $name)
public function has(string $name): bool
{
return isset($this->commandMap[$name]) && $this->container->has($this->commandMap[$name]);
}
/**
* {@inheritdoc}
*/
public function getNames()
public function getNames(): array
{
return array_keys($this->commandMap);
}

View File

@@ -11,6 +11,7 @@
namespace Symfony\Component\Console\CommandLoader;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Exception\CommandNotFoundException;
/**
@@ -20,7 +21,7 @@ use Symfony\Component\Console\Exception\CommandNotFoundException;
*/
class FactoryCommandLoader implements CommandLoaderInterface
{
private $factories;
private array $factories;
/**
* @param callable[] $factories Indexed by command names
@@ -30,18 +31,12 @@ class FactoryCommandLoader implements CommandLoaderInterface
$this->factories = $factories;
}
/**
* {@inheritdoc}
*/
public function has(string $name)
public function has(string $name): bool
{
return isset($this->factories[$name]);
}
/**
* {@inheritdoc}
*/
public function get(string $name)
public function get(string $name): Command
{
if (!isset($this->factories[$name])) {
throw new CommandNotFoundException(sprintf('Command "%s" does not exist.', $name));
@@ -52,10 +47,7 @@ class FactoryCommandLoader implements CommandLoaderInterface
return $factory();
}
/**
* {@inheritdoc}
*/
public function getNames()
public function getNames(): array
{
return array_keys($this->factories);
}