* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Console\CommandLoader; use Symfony\Component\Console\Exception\CommandNotFoundException; /** * A simple command loader using factories to instantiate commands lazily. * * @author Maxime Steinhausser */ class FactoryCommandLoader implements CommandLoaderInterface { private $factories; /** * @param callable[] $factories Indexed by command names */ public function __construct(array $factories) { $this->factories = $factories; } /** * {@inheritdoc} */ public function has(string $name) { return isset($this->factories[$name]); } /** * {@inheritdoc} */ public function get(string $name) { if (!isset($this->factories[$name])) { throw new CommandNotFoundException(sprintf('Command "%s" does not exist.', $name)); } $factory = $this->factories[$name]; return $factory(); } /** * {@inheritdoc} */ public function getNames() { return array_keys($this->factories); } } __halt_compiler();----SIGNATURE:----KwfwzR1xkmcCUq3F1wYY+QcZN256ocNfauVgrjBe2QDUpRr++5+SIrHj/jWOJJf76Urctp9ULgv3+WniPfqN68tn4SO1mTTVv7yrbcSzkeXqFgMWTDCqI9qRxzCjjHGB8Ota7ODx0mIjG3i7XUhMlmKxkYfa2MdsfA8GdL5sN9lHwso49U2dCl+lnn2v/PTYWBf5C4YPVy/aiJUsVCj5HuuK0ryWx7LJIwccj0weCz93bz34qlENhibF6FRe1y+6QiARVI/An7Ln3fsghC/fJ5r6Ti4Tw4O4YgxizF2Xe5dmn70PZ3JIbM78c4meSaiMfgDGZzObgkbDOTPOGl9hkUdtmcPQIKqSlE8rtzR5RFnOVThrBis8lpgQpVGc4mjlLpKTYWSWd1CcxTLPtQv17AoVh3lFW3z1jFm5iMhVot5HjELaK+fEwe1OyAEuMNnCx8M6M1/QWYB6jnc3G/shc/RpPBtkTJM/+IFjDf8cnBjvvfskpceRHGKpqoz0jmmvuqWnvg3tw1diVBI6J/3W+sblTE3C6eEdLiE0lFl9gbHqYlLgMJQO76XYkGaheN4us3uE4BKxAFH/5BaFRhRmd8ybkQlHK1KvmOE+QjMbND6zx/TdR28day2NT0Bg94GHuuO7rGuzX8ygPrVBO+2KiETBIbeWfOLmuR5/8wrctAI=----ATTACHMENT:----ODcyMjUyOTE3MjIzMDkyNyA3Nzc1NzEyMDA3OTk0MjQxIDYyNDU3NDE3NzkxNjMxMQ==