Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F4109270
FactoryCommandLoader.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
FactoryCommandLoader.php
View Options
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* 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\Command\Command
;
use
Symfony\Component\Console\Exception\CommandNotFoundException
;
/**
* A simple command loader using factories to instantiate commands lazily.
*
* @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
*/
class
FactoryCommandLoader
implements
CommandLoaderInterface
{
/**
* @param callable[] $factories Indexed by command names
*/
public
function
__construct
(
private
array
$factories
,
)
{
}
public
function
has
(
string
$name
):
bool
{
return
isset
(
$this
->
factories
[
$name
]);
}
public
function
get
(
string
$name
):
Command
{
if
(!
isset
(
$this
->
factories
[
$name
]))
{
throw
new
CommandNotFoundException
(
\sprintf
(
'Command "%s" does not exist.'
,
$name
));
}
$factory
=
$this
->
factories
[
$name
];
return
$factory
();
}
public
function
getNames
():
array
{
return
array_keys
(
$this
->
factories
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Tue, Aug 18, 20:58 (2 w, 1 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
e7/54/027d7d17d8f46dd873c3a1e6966f
Default Alt Text
FactoryCommandLoader.php (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment