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 |
FactoryCommandLoader.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 Symfony\Component\Console\Exception\CommandNotFoundException;
15
16 /**
17 * A simple command loader using factories to instantiate commands lazily.
18 *
19 * @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
20 */
21 class FactoryCommandLoader implements CommandLoaderInterface
22 {
23 private $factories;
24
25 /**
26 * @param callable[] $factories Indexed by command names
27 */
28 public function __construct(array $factories)
29 {
30 $this->factories = $factories;
31 }
32
33 /**
34 * {@inheritdoc}
35 */
36 public function has($name)
37 {
38 return isset($this->factories[$name]);
39 }
40
41 /**
42 * {@inheritdoc}
43 */
44 public function get($name)
45 {
46 if (!isset($this->factories[$name])) {
47 throw new CommandNotFoundException(sprintf('Command "%s" does not exist.', $name));
48 }
49
50 $factory = $this->factories[$name];
51
52 return $factory();
53 }
54
55 /**
56 * {@inheritdoc}
57 */
58 public function getNames()
59 {
60 return array_keys($this->factories);
61 }
62 }
63