CLI_Alias_Command::get_aliases_data()privateWP-CLI 1.0

Get config path and aliases data based on config type.

Метод класса: CLI_Alias_Command{}

Хуков нет.

Возвращает

Массив. Config Path and Aliases in it.

Использование

// private - только в коде основоного (родительского) класса
$result = $this->get_aliases_data( $config, $alias, $create_config_file );
$config(строка) (обязательный)
Type of config to get data from.
$alias(строка) (обязательный)
Alias to be used for Add/Update/Delete.
$create_config_file(true|false)
If a config file doesn't exist, should it be created? Defaults to false.
По умолчанию: false

Код CLI_Alias_Command::get_aliases_data() WP-CLI 2.8.0-alpha

private function get_aliases_data( $config, $alias, $create_config_file = false ) {

	$global_config_path = WP_CLI::get_runner()->get_global_config_path( $create_config_file );
	$global_aliases     = Spyc::YAMLLoad( $global_config_path );

	$project_config_path = WP_CLI::get_runner()->get_project_config_path();
	$project_aliases     = Spyc::YAMLLoad( $project_config_path );

	if ( 'global' === $config ) {
		$config_path = $global_config_path;
		$aliases     = $global_aliases;
	} elseif ( 'project' === $config ) {
		$config_path = $project_config_path;
		$aliases     = $project_aliases;
	} else {

		$is_global_alias  = array_key_exists( $alias, $global_aliases );
		$is_project_alias = array_key_exists( $alias, $project_aliases );

		if ( $is_global_alias && $is_project_alias ) {
			WP_CLI::error( "Key '{$alias}' found in more than one path. Please pass --config param." );
		} elseif ( $is_global_alias ) {
			$config_path = $global_config_path;
			$aliases     = $global_aliases;
		} else {
			$config_path = $project_config_path;
			$aliases     = $project_aliases;
		}
	}

	return [ $config_path, $aliases ];

}