Verzeichnisstruktur phpBB-3.3.15
- Veröffentlicht
- 28.08.2024
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
ContainerCommandLoader.php
01 <?php
02
03 /*
04 * This file is part of the Symfony package.
05 *
06 * (c) Fabien Potencier <fabien@symfony.com>
07 *
08 * For the full copyright and license information, please view the LICENSE
09 * 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 }
65