radarrplexorganizrnginxsonarrdashboardsabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepage
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							55 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							55 lines
						
					
					
						
							1.3 KiB
						
					
					
				| <?php | |
| 
 | |
| namespace Symfony\Component\Console\CommandLoader; | |
| 
 | |
| use Psr\Container\ContainerInterface; | |
| use Symfony\Component\Console\Exception\CommandNotFoundException; | |
| 
 | |
| /** | |
|  * Loads commands from a PSR-11 container. | |
|  * | |
|  * @author Robin Chalas <robin.chalas@gmail.com> | |
|  */ | |
| class ContainerCommandLoader implements CommandLoaderInterface | |
| { | |
|     private $container; | |
|     private $commandMap; | |
| 
 | |
|     /** | |
|      * @param ContainerInterface $container  A container from which to load command services | |
|      * @param array              $commandMap An array with command names as keys and service ids as values | |
|      */ | |
|     public function __construct(ContainerInterface $container, array $commandMap) | |
|     { | |
|         $this->container = $container; | |
|         $this->commandMap = $commandMap; | |
|     } | |
| 
 | |
|     /** | |
|      * {@inheritdoc} | |
|      */ | |
|     public function get($name) | |
|     { | |
|         if (!$this->has($name)) { | |
|             throw new CommandNotFoundException(sprintf('Command "%s" does not exist.', $name)); | |
|         } | |
| 
 | |
|         return $this->container->get($this->commandMap[$name]); | |
|     } | |
| 
 | |
|     /** | |
|      * {@inheritdoc} | |
|      */ | |
|     public function has($name) | |
|     { | |
|         return isset($this->commandMap[$name]) && $this->container->has($this->commandMap[$name]); | |
|     } | |
| 
 | |
|     /** | |
|      * {@inheritdoc} | |
|      */ | |
|     public function getNames() | |
|     { | |
|         return array_keys($this->commandMap); | |
|     } | |
| }
 | |
| 
 |