Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getRunner example
public
function
getRunner
(
?object
$application
)
: RunnerInterface
{
$application
??=
static
fn
(
)
=> 0;
if
(
$application
instanceof RunnerInterface
)
{
return
$application
;
}
if
(
!
$application
instanceof \Closure
)
{
if
(
$runtime
=
$this
->
resolveRuntime
(
$application
::
class
)
)
{
return
$runtime
->
getRunner
(
$application
)
;
}
if
(
!\
is_callable
(
$application
)
)
{
throw
new
\
LogicException
(
sprintf
(
'"%s" doesn\'t know how to handle apps of type "%s".',
get_debug_type
(
$this
)
,
get_debug_type
(
$application
)
)
)
;
}
$application
=
$application
(
...
)
;
}
if
(
$_SERVER
[
$this
->options
[
'debug_var_name'
]
]
&&
(
$r
=
new
\
ReflectionFunction
(
$application
)
)
&&
$r
->
getNumberOfRequiredParameters
(
)
)
{
throw
new
\
ArgumentCountError
(
sprintf
(
'Zero argument should be required by the runner callable, but at least one is in "%s" on line "%d.',
$r
->
getFileName
(
)
,
$r
->
getStartLine
(
)
)
)
;
}
+
(
$_SERVER
[
'APP_RUNTIME_OPTIONS'
]
??
[
]
)
;
if
(
file_exists
(
dirname
(
__DIR__, 2
)
.'/vendor/autoload.php'
)
)
{
if
(
true
===
(
require_once
dirname
(
__DIR__, 2
)
.'/vendor/autoload.php'
)
||
empty
(
$_SERVER
[
'SCRIPT_FILENAME'
]
)
)
{
return
;
}
$app
=
require
$_SERVER
[
'SCRIPT_FILENAME'
]
;
$runtime
=
$_SERVER
[
'APP_RUNTIME'
]
?? SymfonyRuntime::
class
;
$runtime
=
new
$runtime
(
$_SERVER
[
'APP_RUNTIME_OPTIONS'
]
)
;
[
$app
,
$args
]
=
$runtime
->
getResolver
(
$app
)
->
resolve
(
)
;
exit
(
$runtime
->
getRunner
(
$app
(
...
$args
)
)
->
run
(
)
)
;
}
if
(
!
file_exists
(
dirname
(
__DIR__, 6
)
.'/vendor/autoload_runtime.php'
)
)
{
throw
new
LogicException
(
'Autoloader not found.'
)
;
}
require
dirname
(
__DIR__, 6
)
.'/vendor/autoload_runtime.php';
$kernel
->
handle
(
new
Request
(
)
)
->
send
(
)
;
echo
"\n";
$kernel
->
handle
(
new
Request
(
)
)
->
send
(
)
;
echo
"\n";
return
0;
}
)
;
}
}
;
[
$app
,
$args
]
=
$runtime
->
getResolver
(
require
__DIR__.'/kernel.php'
)
->
resolve
(
)
;
echo
$runtime
->
getRunner
(
$app
(
...
$args
)
)
->
run
(
)
;
$console
=
$this
->console ??=
new
Application
(
)
;
$console
->
setName
(
$application
->
getName
(
)
?:
$console
->
getName
(
)
)
;
if
(
!
$application
->
getName
(
)
|| !
$console
->
has
(
$application
->
getName
(
)
)
)
{
$application
->
setName
(
$_SERVER
[
'argv'
]
[
0
]
)
;
$console
->
add
(
$application
)
;
}
$console
->
setDefaultCommand
(
$application
->
getName
(
)
, true
)
;
$console
->
getDefinition
(
)
->
addOptions
(
$application
->
getDefinition
(
)
->
getOptions
(
)
)
;
return
$this
->
getRunner
(
$console
)
;
}
if
(
$application
instanceof Application
)
{
if
(
!\
in_array
(
\PHP_SAPI,
[
'cli', 'phpdbg', 'embed'
]
, true
)
)
{
echo
'Warning: The console should be invoked via the CLI version of PHP, not the '.\PHP_SAPI.' SAPI'.\PHP_EOL;
}
set_time_limit
(
0
)
;
$defaultEnv
= !
isset
(
$this
->options
[
'env'
]
)
?
(
$_SERVER
[
$this
->options
[
'env_var_name'
]
]
?? 'dev'
)
: null;
$output
=
$this
->output ??=
new
ConsoleOutput
(
)
;