CoreCommandController
class CoreCommandController extends CommandController (View source)
Command controller for core commands
NOTE: This command controller will run in compile time (as defined in the package bootstrap)
Properties
protected Request | $request | from CommandController | |
protected Response | $response | from CommandController | |
protected Arguments | $arguments | from CommandController | |
protected string | $commandMethodName | Name of the command method |
from CommandController |
protected ObjectManagerInterface | $objectManager | from CommandController | |
protected CommandManager | $commandManager | from CommandController | |
protected ConsoleOutput | $output | from CommandController | |
protected RequestBuilder | $requestBuilder | ||
protected Dispatcher | $dispatcher | ||
protected Dispatcher | $signalSlotDispatcher | ||
protected Bootstrap | $bootstrap | ||
protected CacheManager | $cacheManager | ||
protected Compiler | $proxyClassCompiler | ||
protected ProxyClassBuilder | $aopProxyClassBuilder | ||
protected ProxyClassBuilder | $dependencyInjectionProxyClassBuilder | ||
protected Environment | $environment |
Methods
Resolves and checks the current command method name
Initializes the arguments array of this controller by creating an empty argument object for each of the method arguments found in the designated command method.
Maps arguments delivered by the request object to the local controller arguments.
Forwards the request to another command and / or CommandController.
Calls the specified command method and passes the arguments.
Returns the CLI Flow command depending on the environment
Outputs specified text to the console window You can specify arguments that will be passed to the text via sprintf
Outputs specified text to the console window and appends a line break
Formats the given text to fit into MAXIMUM_LINE_LENGTH and outputs it to the console window
Exits the CLI through the dispatcher and makes sure that Flow is properly shut down.
Sends the response and exits the CLI without any further code execution Should be used for commands that flush code caches.
No description
Explicitly compile proxy classes
Adjust file permissions for CLI and web server access
Migrate source files as needed
Run the interactive Shell
Signals that the compile command was successfully finished.
Launch sub process
Echoes the currently pending response from the sub process
Cleanly terminates the given sub process
Returns autocomplete suggestions on hitting the TAB key.
Details
__construct()
Constructs the command controller
void
injectCommandManager(CommandManager $commandManager)
No description
void
injectObjectManager(ObjectManagerInterface $objectManager)
Injects the reflection service
protected string
resolveCommandMethodName()
Resolves and checks the current command method name
Note: The resulting command method name might not have the correct case, which isn't a problem because PHP is case insensitive regarding method names.
protected void
initializeCommandMethodArguments()
Initializes the arguments array of this controller by creating an empty argument object for each of the method arguments found in the designated command method.
protected void
mapRequestArgumentsToControllerArguments()
Maps arguments delivered by the request object to the local controller arguments.
protected void
forward(string $commandName, string $controllerObjectName = null, array $arguments = [])
Forwards the request to another command and / or CommandController.
Request is directly transferred to the other command / controller without the need for a new request.
protected void
callCommandMethod()
Calls the specified command method and passes the arguments.
If the command returns a string, it is appended to the content in the response object. If the command doesn't return anything and a valid view exists, the view is rendered automatically.
string
getFlowInvocationString()
Returns the CLI Flow command depending on the environment
protected void
output(string $text, array $arguments = [])
Outputs specified text to the console window You can specify arguments that will be passed to the text via sprintf
protected void
outputLine(string $text = '', array $arguments = [])
Outputs specified text to the console window and appends a line break
protected void
outputFormatted(string $text = '', array $arguments = [], int $leftPadding = 0)
Formats the given text to fit into MAXIMUM_LINE_LENGTH and outputs it to the console window
protected void
quit(int $exitCode = 0)
Exits the CLI through the dispatcher and makes sure that Flow is properly shut down.
If your command relies on functionality which is triggered through the Bootstrap shutdown (such as the persistence framework), you must use quit() instead of exit().
protected void
sendAndExit(int $exitCode = 0)
Sends the response and exits the CLI without any further code execution Should be used for commands that flush code caches.
void
injectRequestBuilder(RequestBuilder $requestBuilder)
No description
void
injectDispatcher(Dispatcher $dispatcher)
No description
void
injectSignalSlotDispatcher(Dispatcher $signalSlotDispatcher)
No description
void
injectBootstrap(Bootstrap $bootstrap)
No description
void
injectCacheManager(CacheManager $cacheManager)
No description
void
injectProxyClassCompiler(Compiler $proxyClassCompiler)
No description
void
injectAopProxyClassBuilder(ProxyClassBuilder $aopProxyClassBuilder)
No description
void
injectDependencyInjectionProxyClassBuilder(ProxyClassBuilder $dependencyInjectionProxyClassBuilder)
No description
void
injectEnvironment(Environment $environment)
No description
void
compileCommand(bool $force = false)
Explicitly compile proxy classes
The compile command triggers the proxy class compilation. Although a compilation run is triggered automatically by Flow, there might be cases in a production context where a manual compile run is needed.
void
setFilePermissionsCommand(string $commandlineUser, string $webserverUser, string $webserverGroup)
Adjust file permissions for CLI and web server access
This command adjusts the file permissions of the whole Flow application to the given command line user and webserver user / group.
void
migrateCommand(string $package, bool $status = false, string $packagesPath = null, string $version = null, bool $verbose = false, bool $force = false)
Migrate source files as needed
This will apply pending code migrations defined in packages to the specified package.
For every migration that has been run, it will create a commit in the package. This allows for easy inspection, rollback and use of the fixed code. If the affected package contains local changes or is not part of a git repository, the migration will be skipped. With the --force flag this behavior can be changed, but changes will only be committed if the working copy was clean before applying the migration.
void
shellCommand()
Run the interactive Shell
The shell command runs Flow's interactive shell. This shell allows for entering commands like through the regular command line interface but additionally supports autocompletion and a user-based command history.
protected void
emitFinishedCompilationRun(int $classCount)
Signals that the compile command was successfully finished.
protected array
launchSubProcess()
Launch sub process
protected void
echoSubProcessResponse(array $pipes)
Echoes the currently pending response from the sub process
protected void
quitSubProcess(resource $subProcess, array $pipes)
Cleanly terminates the given sub process
protected array
autocomplete(string $partialCommand, int $index)
Returns autocomplete suggestions on hitting the TAB key.