CLI_Alias_Command::build_aliases
Return aliases array.
Method of the class: CLI_Alias_Command{}
No Hooks.
Returns
Mixed.
Usage
// private - for code of main (parent) class only $result = $this->build_aliases( $aliases, $alias, $assoc_args, $is_grouping, $grouping, $is_update );
- $aliases(array) (required)
- Current aliases data.
- $alias(string) (required)
- Name of alias.
- $assoc_args(array) (required)
- Associative arguments.
- $is_grouping(true|false) (required)
- Check if its a grouping operation.
- $grouping(string)
- Grouping value.
Default:'' - $is_update(true|false)
- Is this an update operation?.
Default:false
CLI_Alias_Command::build_aliases() CLI Alias Command::build aliases code WP-CLI 2.13.0-alpha
private function build_aliases( $aliases, $alias, $assoc_args, $is_grouping, $grouping = '', $is_update = false ) {
$alias = $this->normalize_alias( $alias );
if ( $is_grouping ) {
$valid_assoc_args = [ 'config', 'grouping' ];
$invalid_args = array_diff( array_keys( $assoc_args ), $valid_assoc_args );
// Check for invalid args.
if ( ! empty( $invalid_args ) ) {
$args_info = implode( ',', $invalid_args );
WP_CLI::error( "--grouping argument works alone. Found invalid arg(s) '$args_info'." );
}
}
if ( $is_update ) {
$this->validate_alias_type( $aliases, $alias, $assoc_args, $grouping );
}
if ( ! $is_grouping ) {
foreach ( $assoc_args as $key => $value ) {
if ( strpos( $key, 'set-' ) !== false ) {
$alias_key_info = explode( '-', $key );
$alias_key = empty( $alias_key_info[1] ) ? '' : $alias_key_info[1];
if ( ! empty( $alias_key ) && ! empty( $value ) ) {
$aliases[ $alias ][ $alias_key ] = $value;
}
}
}
} elseif ( ! empty( $grouping ) ) {
$group_alias_list = explode( ',', $grouping );
$group_alias = array_map(
function ( $current_alias ) {
return '@' . ltrim( $current_alias, '@' );
},
$group_alias_list
);
$aliases[ $alias ] = $group_alias;
}
return $aliases;
}