[ Index ] |
PHP Cross Reference of phpBB-3.3.14-deutsch |
[Summary view] [Print] [Text view]
1 <?php 2 3 /* 4 * This file is part of the Symfony package. 5 * 6 * (c) Fabien Potencier <fabien@symfony.com> 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12 namespace Symfony\Component\Console\CommandLoader; 13 14 use Psr\Container\ContainerInterface; 15 use Symfony\Component\Console\Exception\CommandNotFoundException; 16 17 /** 18 * Loads commands from a PSR-11 container. 19 * 20 * @author Robin Chalas <robin.chalas@gmail.com> 21 */ 22 class ContainerCommandLoader implements CommandLoaderInterface 23 { 24 private $container; 25 private $commandMap; 26 27 /** 28 * @param ContainerInterface $container A container from which to load command services 29 * @param array $commandMap An array with command names as keys and service ids as values 30 */ 31 public function __construct(ContainerInterface $container, array $commandMap) 32 { 33 $this->container = $container; 34 $this->commandMap = $commandMap; 35 } 36 37 /** 38 * {@inheritdoc} 39 */ 40 public function get($name) 41 { 42 if (!$this->has($name)) { 43 throw new CommandNotFoundException(sprintf('Command "%s" does not exist.', $name)); 44 } 45 46 return $this->container->get($this->commandMap[$name]); 47 } 48 49 /** 50 * {@inheritdoc} 51 */ 52 public function has($name) 53 { 54 return isset($this->commandMap[$name]) && $this->container->has($this->commandMap[$name]); 55 } 56 57 /** 58 * {@inheritdoc} 59 */ 60 public function getNames() 61 { 62 return array_keys($this->commandMap); 63 } 64 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Mon Nov 25 19:05:08 2024 | Cross-referenced by PHPXref 0.7.1 |