PhpServer
class PhpServer extends Exec (View source)
Runs PHP server and stops it when task finishes.
<?php
// run server in /public directory
$this->taskServer(8000)
 ->dir('public')
 ->run();
// run with IP 0.0.0.0
$this->taskServer(8000)
 ->host('0.0.0.0')
 ->run();
// execute server in background
$this->taskServer(8000)
 ->background()
 ->run();
?>        Traits
This task can receive commands from task implementing CommandInterface.
This task specifies exactly one shell command.
This task is supposed to be executed as shell command.
Use this to add arguments and options to the $arguments property.
Class ExecTrait
Task input/output methods. TaskIO is 'used' in BaseTask, so any task that extends this class has access to all of the methods here.
Task input/output methods. TaskIO is 'used' in BaseTask, so any task that extends this class has access to all of the methods here.
Properties
| protected ConfigInterface | $config | from ConfigAwareTrait | |
| protected OutputAdapterInterface | $outputAdapter | from VerbosityThresholdTrait | |
| protected int | $verbosityThreshold | from VerbosityThresholdTrait | |
| protected OutputInterface | $output | from OutputAwareTrait | |
| protected TimeKeeper|null | $timer | from Timer | |
| protected null|ProgressIndicator | $progressIndicator | from ProgressIndicatorAwareTrait | |
| protected bool | $background | from ExecTrait | |
| protected null|int | $timeout | from ExecTrait | |
| protected null|int | $idleTimeout | from ExecTrait | |
| protected null|array | $env | from ExecTrait | |
| protected Process | $process | from ExecTrait | |
| protected resource|string | $input | from ExecTrait | |
| protected bool | $interactive | from ExecTrait | |
| protected bool | $isPrinted | from ExecTrait | |
| protected bool | $isMetadataPrinted | from ExecTrait | |
| protected string | $workingDirectory | from ExecTrait | |
| protected TimeKeeper | $execTimer | from ExecCommand | |
| protected string | $arguments | from CommandArguments | |
| static protected Exec[] | $instances | from Exec | |
| protected | $command | {@inheritdoc} | |
| protected int | $port | ||
| protected string | $host | 
Methods
Any class that uses ConfigAwareTrait SHOULD override this method , and define a prefix for its configuration items. This is usually done in a base class. When used, this method should return a string that ends with a "."; see BaseTask::configPrefix().
No description
No description
Required verbosity level before any TaskIO output will be produced.
Print a message if the selected verbosity level is over this task's verbosity threshold.
Print information about a task in progress.
Provide notification that some part of the task succeeded.
Provide notification that there is something wrong, but execution can continue.
Provide notification that some operation in the task failed, and the task cannot continue.
Provide debugging notification. These messages are only displayed if the log level is VERBOSITY_DEBUG.
Get the formatted task name for use in task output.
Ask the provided parent class to inject all of the dependencies that it has and we need.
Take all dependencies availble to this task and inject any that are needed into the provided task. The general pattern is that, for every FooAwareInterface that this class implements, it should test to see if the child also implements the same interface, and if so, should call $child->setFoo($this->foo).
Executes command in background mode (asynchronously)
Stops command if it does not output something for a while
Set a single environment variable, or multiple.
Pass an input to the process. Can be resource created with fopen() or string
Pass an input to the process. Can be resource created with fopen() or string
Attach tty to process for interactive input
No description
Shortcut for setting isPrinted() and isMetadataPrinted() to false.
Should command metadata be printed. I,e., command and timer.
Look for a "{$cmd}.phar" in the current working directory; return a string to exec it if it is found. Otherwise, look for an executable command of the same name via findExecutable.
Return the best path to the executable program with the provided name. Favor vendor/bin in the current project. If not found there, use whatever is on the $PATH.
Wrap Windows executables in 'call' per 7a88757d
Pass argument to executable. Its value will be automatically escaped.
Pass methods parameters as arguments to executable. Argument values are automatically escaped.
Pass the provided string in its raw (as provided) form as an argument to executable.
Escape the provided value, unless it contains only alphanumeric plus a few other basic characters.
Pass option to executable. Options are prefixed with -- , value can be provided in second parameter.
Pass multiple options to executable. The associative array contains
the key:value pairs that become --key value, for each item in the array.
Pass an option with multiple values to executable. Value can be a string or array.
No description
Returns command that can be executed.
No description
Details
        
                            $this
    setConfig(ConfigInterface $config)
        
    
    Set the config management object.
        
                            ConfigInterface
    getConfig()
        
    
    Get the config management object.
        
                static    protected        string
    configPrefix()
        
    
    Any class that uses ConfigAwareTrait SHOULD override this method , and define a prefix for its configuration items. This is usually done in a base class. When used, this method should return a string that ends with a "."; see BaseTask::configPrefix().
        
                static    protected        
    configClassIdentifier($classname)
        
    
    No description
        
                static    protected        
    configPostfix()
        
    
    No description
        
                static            
    configure(string $key, mixed $value, ConfigInterface|null $config = null)
        
    
    No description
        
                    protected        mixed|null
    getConfigValue(string $key, mixed|null $default = null)
        
    
    No description
        
                            $this
    setVerbosityThreshold(int $verbosityThreshold)
        
    
    Required verbosity level before any TaskIO output will be produced.
e.g. OutputInterface::VERBOSITY_VERBOSE
        
                            int
    verbosityThreshold()
        
    
    No description
        
                            
    setOutputAdapter(OutputAdapterInterface $outputAdapter)
        
    
    No description
        
                            OutputAdapterInterface
    outputAdapter()
        
    
    No description
        
                            bool
    hasOutputAdapter()
        
    
    No description
        
                            bool
    verbosityMeetsThreshold()
        
    
    No description
        
                            
    writeMessage(string $message)
        
    
    Print a message if the selected verbosity level is over this task's verbosity threshold.
        
                            $this
    setOutput(OutputInterface $output)
        
    
    No description
        
                    protected        OutputInterface
    output()
        
    
    No description
        
                    protected        OutputInterface
    stderr()
        
    
    No description
        
                    protected        OutputInterface
    getOutput()
        deprecated
    
    deprecated
Backwards compatibility
        in 
TaskIO at line 49
                            null|LoggerInterface
    logger()
        deprecated
    
    deprecated
No description
        in 
TaskIO at line 85
                    protected        
    printTaskInfo(string $text, null|array $context = null)
        
    
    Print information about a task in progress.
With the Symfony Console logger, NOTICE is displayed at VERBOSITY_VERBOSE and INFO is displayed at VERBOSITY_VERY_VERBOSE.
Robo overrides the default such that NOTICE is displayed at VERBOSITY_NORMAL and INFO is displayed at VERBOSITY_VERBOSE.
n.b. We should probably have printTaskNotice for our ordinary output, and use printTaskInfo for less interesting messages.
        
                    protected        
    printTaskSuccess(string $text, null|array $context = null)
        
    
    Provide notification that some part of the task succeeded.
With the Symfony Console logger, success messages are remapped to NOTICE, and displayed in VERBOSITY_VERBOSE. When used with the Robo logger, success messages are displayed at VERBOSITY_NORMAL.
        
                    protected        
    printTaskWarning(string $text, null|array $context = null)
        
    
    Provide notification that there is something wrong, but execution can continue.
Warning messages are displayed at VERBOSITY_NORMAL.
        
                    protected        
    printTaskError(string $text, null|array $context = null)
        
    
    Provide notification that some operation in the task failed, and the task cannot continue.
Error messages are displayed at VERBOSITY_NORMAL.
        
                    protected        
    printTaskDebug($text, null|array $context = null)
        
    
    Provide debugging notification. These messages are only displayed if the log level is VERBOSITY_DEBUG.
        
                    protected        
    printTaskOutput(string $level, string $text, null|array $context)
        deprecated
    
    deprecated
No description
        
                    protected        bool
    hideTaskProgress()
        
    
    No description
        
                    protected        
    showTaskProgress(bool $inProgress)
        
    
    No description
        
                    protected        string
    formatBytes(int $size, int $precision = 2)
        
    
    Format a quantity of bytes.
        
                    protected        string
    getPrintedTaskName(null|object $task = null)
        
    
    Get the formatted task name for use in task output.
This is placed in the task context under 'name', and used as the log label by Robo\Common\RoboLogStyle, which is inserted at the head of log messages by Robo\Common\CustomLogStyle::formatMessage().
        
                    protected        array
    getTaskContext(null|array $context = null)
        
    
    No description
        in 
Timer at line 12
                    protected        
    startTimer()
        
    
    No description
        in 
Timer at line 20
                    protected        
    stopTimer()
        
    
    No description
        in 
Timer at line 28
                    protected        
    resetTimer()
        
    
    No description
        in 
Timer at line 36
                    protected        float|null
    getExecutionTime()
        
    
    No description
        
                            int
    progressIndicatorSteps()
        
    
    No description
        
                            $this
    setProgressIndicator(null|ProgressIndicator $progressIndicator)
        
    
    No description
        
                    protected        null|bool
    hideProgressIndicator()
        
    
    No description
        
                    protected        
    showProgressIndicator()
        
    
    No description
        
                    protected        
    restoreProgressIndicator(bool $visible)
        
    
    No description
        
                    protected        int
    getTotalExecutionTime()
        
    
    No description
        
                    protected        
    startProgressIndicator()
        
    
    No description
        
                    protected        bool
    inProgress()
        
    
    No description
        
                    protected        
    stopProgressIndicator()
        
    
    No description
        
                    protected        
    disableProgressIndicator()
        
    
    No description
        
                    protected        
    detatchProgressIndicator()
        
    
    No description
        
                    protected        
    advanceProgressIndicator(int $steps = 1)
        
    
    No description
        
                            $this
    inflect(InflectionInterface|mixed $parent)
        
    
    Ask the provided parent class to inject all of the dependencies that it has and we need.
        
                            
    injectDependencies(mixed $child)
        
    
    Take all dependencies availble to this task and inject any that are needed into the provided task. The general pattern is that, for every FooAwareInterface that this class implements, it should test to see if the child also implements the same interface, and if so, should call $child->setFoo($this->foo).
The benefits of this are pretty large. Any time an object that implements
InflectionInterface is created, just call $child->inflect($this), and
any available optional dependencies will be hooked up via setter injection.
The required dependencies of an object should be provided via constructor injection, not inflection.
        
                    protected        string
    receiveCommand(string|CommandInterface $command)
        
    
    No description
        
            abstract                string
    getCommandDescription()
        
    
    No description
        
                            $this
    detectInteractive()
        
    
    Sets $this->interactive() based on posix_isatty().
        
                            $this
    background(bool $arg = true)
        
    
    Executes command in background mode (asynchronously)
        
                            $this
    timeout(int $timeout)
        
    
    Stop command if it runs longer then $timeout in seconds
        
                            $this
    idleTimeout(int $timeout)
        
    
    Stops command if it does not output something for a while
        
                            $this
    env(string|array $env, bool|string $value = null)
        
    
    Set a single environment variable, or multiple.
        
                            $this
    envVars(array $env)
        
    
    Sets the environment variables for the command
        
                            $this
    setProcessInput(resource|string $input)
        
    
    Pass an input to the process. Can be resource created with fopen() or string
        
                            $this
    setInput(resource|string $input)
        deprecated
    
    deprecated
Pass an input to the process. Can be resource created with fopen() or string
        
                            $this
    interactive(bool $interactive = true)
        
    
    Attach tty to process for interactive input
        
                            bool
    getPrinted()
        
    
    Is command printing its output to screen
        
                            $this
    dir(string $path)
        
    
    No description
        
                            $this
    silent(bool $arg)
        
    
    Shortcut for setting isPrinted() and isMetadataPrinted() to false.
        
                            $this
    printed(bool $arg)
        deprecated
    
    deprecated
Should command output be printed
        
                            $this
    printOutput(bool $arg)
        
    
    Should command output be printed
        
                            $this
    printMetadata(bool $arg)
        
    
    Should command metadata be printed. I,e., command and timer.
        
                    protected        ResultData
    execute(Process $process, callable $output_callback = null)
        
    
    No description
        
                    protected        
    stop()
        
    
    No description
        
                    protected        
    printAction(array $context = [])
        
    
    No description
        
                    protected        string
    formatCommandDisplay(string $command)
        
    
    No description
        
                    protected        array
    getResultData()
        
    
    Gets the data array to be passed to Result().
        
                    protected        TimeKeeper
    getExecTimer()
        
    
    No description
        
                    protected        bool|string
    findExecutablePhar(string $cmd)
        
    
    Look for a "{$cmd}.phar" in the current working directory; return a string to exec it if it is found. Otherwise, look for an executable command of the same name via findExecutable.
        
                    protected        bool|string
    findExecutable(string $cmd)
        
    
    Return the best path to the executable program with the provided name. Favor vendor/bin in the current project. If not found there, use whatever is on the $PATH.
        
                    protected        bool|string
    findProjectBin()
        
    
    No description
        
                    protected        string
    useCallOnWindows(string $cmd)
        
    
    Wrap Windows executables in 'call' per 7a88757d
        
                    protected        Result
    executeCommand(string $command)
        
    
    No description
        
                            $this
    arg(string $arg)
        
    
    Pass argument to executable. Its value will be automatically escaped.
        
                            $this
    args(string|string[] $args)
        
    
    Pass methods parameters as arguments to executable. Argument values are automatically escaped.
        
                            $this
    rawArg(string $arg)
        
    
    Pass the provided string in its raw (as provided) form as an argument to executable.
        
                static            string
    escape(string $value)
        
    
    Escape the provided value, unless it contains only alphanumeric plus a few other basic characters.
        
                            $this
    option(string $option, string $value = null, string $separator = ' ')
        
    
    Pass option to executable. Options are prefixed with -- , value can be provided in second parameter.
Option values are automatically escaped.
        
                            $this
    options(array $options, string $separator = ' ')
        
    
    Pass multiple options to executable. The associative array contains
the key:value pairs that become --key value, for each item in the array.
Values are automatically escaped.
        
                            $this
    optionList(string $option, string|array $value = array(), string $separator = ' ')
        
    
    Pass an option with multiple values to executable. Value can be a string or array.
Option values are automatically escaped.
        
                            
    __construct(int $port)
        
    
    No description
        in 
Exec at line 77
                            
    __destruct()
        
    
    No description
        
                            string
    getCommand()
        
    
    Returns command that can be executed.
This method is used to pass generated command from one task to another.
        in 
Exec at line 114
                            
    simulate(null|array $context)
        
    
    Called in place of run() for simulated tasks.
        in 
Exec at line 119
                static            
    stopRunningJobs()
        
    
    No description
        in 
Exec at line 131
                            Result
    run()
        
    
    No description
        
                            $this
    host(string $host)
        
    
    No description