final class ConfigCommands extends DrushCommands implements StdinAwareInterface, SiteAliasManagerAwareInterface (View source)

Traits

StdinAwareTrait
SiteAliasManagerAwareTrait
ProcessManagerAwareTrait
LoggerAwareTrait
IO
ConfigAwareTrait

Constants

REQ

OPT

EXIT_SUCCESS

EXIT_FAILURE

EXIT_FAILURE_WITH_CLARITY

INTERACT_CONFIG_NAME

VALIDATE_CONFIG_NAME

GET

SET

EDIT

DELETE

STATUS

Properties

protected CommandData|null $commandData from  DrushCommands
protected StorageInterface|null $configStorageExport
protected ImportStorageTransformer|null $importStorageTransformer

Methods

bool
startBrowser(string|null $uri = null, int $sleep = 0, int|null $port = null, string|bool $browser = false)

Starts a background browser/tab for the current site or a specified URL.

static bool
programExists($program)

No description

static string
getEditor(string|null $editor = null)

No description

getConfig()

Replaces same method in ConfigAwareTrait in order to provide a DrushConfig as return type. Helps with IDE completion.

__construct(ConfigFactoryInterface $configFactory, StorageInterface $configStorage)

No description

SymfonyStyle
io()

Override Robo's IO function with our custom style.

DrushLoggerManager|null
logger()

Returns a logger object.

void
printFile(string $file)

Print the contents of a file.

preHook(CommandData $commandData)

Persist commandData for use in primary command callback. Used by 'topic' commands.

printFileTopic(CommandData $commandData)

Print the contents of a file. The path comes from the @topic annotation.

HandlerStack
getStack()

Get a Guzzle handler stack that uses the Drush logger.

ConfigFactoryInterface
getConfigFactory()

No description

static ConfigCommands
create(ContainerInterface $container)

No description

void
setExportStorage(StorageInterface $exportStorage)

No description

StorageInterface
getConfigStorageExport()

No description

void
setImportTransformer(ImportStorageTransformer $importStorageTransformer)

No description

bool
hasImportTransformer()

No description

ImportStorageTransformer
getImportTransformer()

No description

get($config_name, $key = '', $options = ['format' => 'yaml', 'source' => 'active', 'include-overridden' => false])

Display a config value, or a whole configuration object.

set($config_name, $key, $value, $options = ['input-format' => 'string'])

Save a config value directly. Does not perform a config import.

void
edit($config_name, $options = [])

Open a config file in a text editor. Edits are imported after closing editor.

void
delete($config_name, $key = null)

Delete a configuration key, or a whole object(s).

RowsOfFields|null
status($options = ['state' => 'Only in DB,Only in sync dir,Different', 'prefix' => self::REQ])

Display status of configuration (differences between the filesystem and database).

static string
getDirectory(mixed $directory = null)

Determine which configuration directory to use and return directory path.

array
getChanges($target_storage)

Returns the difference in configuration between active storage and target storage.

getStorage($directory)

Get storage corresponding to a configuration directory.

static Table
configChangesTable(array $config_changes, OutputInterface $output, $use_color = true)

Build a table of config changes.

void
configComplete(CompletionInput $input, CompletionSuggestions $suggestions)

No description

void
interactConfigName($input, $output)

No description

CommandError|null
validateConfigName(CommandData $commandData)

Validate that a config name is valid.

static void
copyConfig(StorageInterface $source, StorageInterface $destination)

Copies configuration objects from source storage to target storage.

static string
getDiff(StorageInterface $destination_storage, StorageInterface $source_storage, OutputInterface $output)

Get diff between two config sets.

Details

bool startBrowser(string|null $uri = null, int $sleep = 0, int|null $port = null, string|bool $browser = false)

Starts a background browser/tab for the current site or a specified URL.

Uses a non-blocking Process call, so Drush execution will continue.

Parameters

string|null $uri

Optional URI or site path to open in browser. If omitted, or if a site path is specified, the current site home page uri will be prepended if the site's hostname resolves.

int $sleep
int|null $port
string|bool $browser

Return Value

bool

if browser was opened. FALSE if browser was disabled by the user or a default browser could not be found.

static bool programExists($program)

No description

Parameters

$program

Return Value

bool

static string getEditor(string|null $editor = null)

No description

Parameters

string|null $editor

Return Value

string

DrushConfig getConfig()

Replaces same method in ConfigAwareTrait in order to provide a DrushConfig as return type. Helps with IDE completion.

protected __construct(ConfigFactoryInterface $configFactory, StorageInterface $configStorage)

No description

Parameters

ConfigFactoryInterface $configFactory
StorageInterface $configStorage

protected SymfonyStyle io()

Override Robo's IO function with our custom style.

Return Value

SymfonyStyle

protected DrushLoggerManager|null logger()

Returns a logger object.

Return Value

DrushLoggerManager|null

protected void printFile(string $file)

Print the contents of a file.

Parameters

string $file

Full path to a file.

Return Value

void

preHook(CommandData $commandData)

Persist commandData for use in primary command callback. Used by 'topic' commands.

Parameters

CommandData $commandData

protected printFileTopic(CommandData $commandData)

Print the contents of a file. The path comes from the @topic annotation.

Parameters

CommandData $commandData

Full path to a file.

protected HandlerStack getStack()

Get a Guzzle handler stack that uses the Drush logger.

ConfigFactoryInterface getConfigFactory()

No description

Return Value

ConfigFactoryInterface

static ConfigCommands create(ContainerInterface $container)

No description

Parameters

ContainerInterface $container

Return Value

ConfigCommands

void setExportStorage(StorageInterface $exportStorage)

No description

Parameters

StorageInterface $exportStorage

Return Value

void

StorageInterface getConfigStorageExport()

No description

Return Value

StorageInterface

void setImportTransformer(ImportStorageTransformer $importStorageTransformer)

No description

Parameters

ImportStorageTransformer $importStorageTransformer

Return Value

void

bool hasImportTransformer()

No description

Return Value

bool

ImportStorageTransformer getImportTransformer()

No description

Return Value

ImportStorageTransformer

get($config_name, $key = '', $options = ['format' => 'yaml', 'source' => 'active', 'include-overridden' => false])

Display a config value, or a whole configuration object.

Parameters

$config_name
$key
$options

set($config_name, $key, $value, $options = ['input-format' => 'string'])

Save a config value directly. Does not perform a config import.

Parameters

$config_name
$key
$value
$options

void edit($config_name, $options = [])

Open a config file in a text editor. Edits are imported after closing editor.

Parameters

$config_name
$options

Return Value

void

void delete($config_name, $key = null)

Delete a configuration key, or a whole object(s).

Parameters

$config_name
$key

Return Value

void

RowsOfFields|null status($options = ['state' => 'Only in DB,Only in sync dir,Different', 'prefix' => self::REQ])

Display status of configuration (differences between the filesystem and database).

Parameters

$options

Return Value

RowsOfFields|null

static string getDirectory(mixed $directory = null)

Determine which configuration directory to use and return directory path.

Directory path is determined based on the following precedence:

  1. User-provided $directory.
  2. Default sync directory

Parameters

mixed $directory

Return Value

string

array getChanges($target_storage)

Returns the difference in configuration between active storage and target storage.

Parameters

$target_storage

Return Value

array

getStorage($directory)

Get storage corresponding to a configuration directory.

Parameters

$directory

static Table configChangesTable(array $config_changes, OutputInterface $output, $use_color = true)

Build a table of config changes.

Parameters

array $config_changes

An array of changes keyed by collection.

OutputInterface $output
$use_color

Return Value

Table

void configComplete(CompletionInput $input, CompletionSuggestions $suggestions)

No description

Parameters

CompletionInput $input
CompletionSuggestions $suggestions

Return Value

void

void interactConfigName($input, $output)

No description

Parameters

$input
$output

Return Value

void

CommandError|null validateConfigName(CommandData $commandData)

Validate that a config name is valid.

Parameters

CommandData $commandData

Return Value

CommandError|null

static void copyConfig(StorageInterface $source, StorageInterface $destination)

Copies configuration objects from source storage to target storage.

Parameters

StorageInterface $source

The source config storage service.

StorageInterface $destination

The destination config storage service.

Return Value

void

Exceptions

Exception

static string getDiff(StorageInterface $destination_storage, StorageInterface $source_storage, OutputInterface $output)

Get diff between two config sets.

Parameters

StorageInterface $destination_storage
StorageInterface $source_storage
OutputInterface $output

Return Value

string