12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <h1>Drush Contexts</h1>
- <p>
- The drush contexts API acts as a storage mechanism for all options,
- arguments and configuration settings that are loaded into drush.
- <p>
- This API also acts as an IPC mechanism between the different drush commands,
- and provides protection from accidentally overriding settings that are
- needed by other parts of the system.
- <p>
- It also avoids the necessity to pass references through the command chain
- and allows the scripts to keep track of whether any settings have changed
- since the previous execution.
- <p>
- This API defines several contexts that are used by default.
- <h2>Argument contexts</h2>
- <p>
- These contexts are used by Drush to store information on the command.
- They have their own access functions in the forms of
- drush_set_arguments(), drush_get_arguments(), drush_set_command(),
- drush_get_command().
- <ul>
- <li>command : The drush command being executed.</li>
- <li>arguments : Any additional arguments that were specified.</li>
- </ul>
- <h2>Setting contexts</h2>
- <p>
- These contexts store options that have been passed to the drush.php
- script, either through the use of any of the config files, directly from
- the command line through --option='value' or through a JSON encoded string
- passed through the STDIN pipe.
- <p>
- These contexts are accessible through the drush_get_option() and
- drush_set_option() functions. See drush_context_names() for a description
- of all of the contexts.
- <p>
- Drush commands may also choose to save settings for a specific context to
- the matching configuration file through the drush_save_config() function.
- <h2>Available Setting contexts</h2>
- <p>
- These contexts are evaluated in a certain order, and the highest priority value
- is returned by default from drush_get_option. This allows scripts to check whether
- an option was different before the current execution.
- <p>
- Specified by the script itself :
- <ul>
- <li>process : Generated in the current process.
- <li>cli : Passed as --option=value to the command line.
- <li>stdin : Passed as a JSON encoded string through stdin.
- <li>alias : Defined in an alias record, and set in the
- alias context whenever that alias is used.
- <li>specific : Defined in a command-specific option record, and
- set in the command context whenever that command is used.
- </ul>
- <p>
- Specified by config files :
- <ul>
- <li>custom : Loaded from the config file specified by --config or -c
- <li>site : Loaded from the drushrc.php file in the Drupal site directory.
- <li>drupal : Loaded from the drushrc.php file in the Drupal root directory.
- <li>user : Loaded from the drushrc.php file in the user's home directory.
- <li>drush : Loaded from the drushrc.php file in the $HOME/.drush directory.
- <li>system : Loaded from the drushrc.php file in the system's $PREFIX/etc/drush directory.
- <li>drush : Loaded from the drushrc.php file in the same directory as drush.php.
- </ul>
- <p>
- Specified by the script, but has the lowest priority :
- <ul>
- <li>default : The script might provide some sensible defaults during init.
- </ul>
|