Interfaces
Documentation interface.
Command cration listeners can be added to the annotation command factory. These will be notified whenever a new commandfile is provided to the factory. This is useful for initializing new commandfile objects.
If an annotated command method encounters an error, then it should either throw an exception, or return a result object that implements ExitCodeInterface.
Alter the result of a command after it has been processed.
Extract Output hooks are used to select the particular data elements of the result that should be printed as the command output -- perhaps after being formatted.
Non-interactively (e.g. via configuration files) apply configuration values to the Input object.
Interactively supply values for missing required arguments for the current command. Note that this hook is not called if the --no-interaction flag is set.
Add options to a command.
A result processor takes a result object, processes it, and returns another result object. For example, if a result object represents a 'task', then a task-runner hook could run the task and return the result from that execution.
Validate the arguments for the current command.
StdinAwareInterface should be implemented by classes that read from standard input. This class contains facilities to redirect stdin to instead read from a file, e.g. in response to an option or argument value.
Option providers can add options to commands based on the annotations present in a command. For example, a command that specifies @fields will automatically be given --format and --fields options.
If an annotated command method returns an object that implements OutputDataInterface, then the getOutputData() method is used to fetch the output to print from the result object.
Provide an object for the specified interface or class name.
Marker interface that indicates that a cell data renderer (Consolidation\OutputFormatters\SturcturedData\RenderCellInterface) may test for to determine whether it is allowable to add human-readable formatting into the cell data (Consolidation\OutputFormatters\SturcturedData\NumericCallRenderer).
UnstructuredInterface is a marker interface that indicates that the data type is unstructured, and has no default conversion to a string.
When using arrays, we could represent XML data in a number of different ways.
Formatters may implement ValidDataTypesInterface in order to indicate exactly which formats they support. The validDataTypes method can be called to retrieve a list of data types useful in providing hints in exception messages about which data types can be used with the formatter.
Formatters may implement ValidationInterface in order to indicate whether a particular data structure is supported. Any formatter that does not implement ValidationInterface is assumed to only operate on arrays, or data types that implement SimplifyToArrayInterface.
An alias record is a configuration record containing well-known items.
Inflection interface for the site alias manager.
Site Alias manager methods used to set up the object.
Site Alias manager
Defines the interface for a Boot classes. Any CMS that wishes to work with Drush should extend BaseBoot. If the CMS has a Drupal-Compatibility layer, then it should extend DrupalBoot.
Implement this interface when building a Drush sql-sanitize plugin.
Storage for arguments preprocessed during preflight.
HandlerInterface represents a PHP system handler (e.g. the error reporting handler, the shutdown handler) that may be globally installed.
Inflection interface for the site alias manager.
Interface ClassDiscoveryInterface
Task that implements this interface can be injected as a parameter for other task.
Any Robo tasks that implements this interface will be called when the task collection it is added to completes.
Adapt OutputInterface or other output function to the VerbosityThresholdInterface.
If task prints anything to console
Any Robo task that uses the Timer trait and implements ProgressIndicatorAwareInterface will display a progress bar while the timer is running.
Robo tasks that take multiple steps to complete should implement this interface.
Any Robo tasks that implements this interface will be called when the task collection it is added to fails, and runs its rollback operation.
Task that implements this interface can be injected as a parameter for other task.
All Robo tasks should implement this interface.
Record and determine whether the current verbosity level exceeds the desired threshold level to produce output.