Automattic\WooCommerce\Internal\CLI\Migrator\Core
ProductsController::parse_and_validate_args
Parse and validate command-line arguments.
Method of the class: ProductsController{}
No Hooks.
Returns
Array. Parsed and validated arguments or empty array on error.
Usage
// private - for code of main (parent) class only $result = $this->parse_and_validate_args( $assoc_args, $platform ): array;
- $assoc_args(array) (required)
- Raw associative arguments.
- $platform(string)
- Optional pre-resolved platform.
Default:''
ProductsController::parse_and_validate_args() ProductsController::parse and validate args code WC 10.7.0
private function parse_and_validate_args( array $assoc_args, string $platform = '' ): array {
$parsed = array();
// Platform validation - use pre-resolved platform if provided, otherwise resolve.
if ( empty( $platform ) ) {
$platform = $this->platform_registry->resolve_platform( $assoc_args );
if ( empty( $platform ) ) {
return array();
}
}
$parsed['platform'] = $platform;
$this->fields_to_process = $this->parse_field_selection( $assoc_args );
$parsed['fields'] = $this->fields_to_process;
$parsed['limit'] = isset( $assoc_args['limit'] ) ? max( 1, (int) $assoc_args['limit'] ) : PHP_INT_MAX;
$parsed['batch_size'] = isset( $assoc_args['batch-size'] ) ? max( 1, min( 250, (int) $assoc_args['batch-size'] ) ) : 20;
$parsed['skip_existing'] = isset( $assoc_args['skip-existing'] );
$parsed['dry_run'] = isset( $assoc_args['dry-run'] );
$parsed['resume'] = isset( $assoc_args['resume'] );
$parsed['verbose'] = isset( $assoc_args['verbose'] );
$parsed['assign_default_category'] = isset( $assoc_args['assign-default-category'] );
$parsed['filters'] = $this->parse_query_filters( $assoc_args );
if ( ! $this->credential_manager->has_credentials( $platform ) ) {
$platform_display_name = $this->platform_registry->get_platform_display_name( $platform );
WP_CLI::error(
sprintf(
"No credentials found for platform '%s'. Please run: wp wc migrate setup --platform=%s",
$platform_display_name,
$platform
)
);
return array();
}
return $parsed;
}