WP_CLI\Utils

get_upgrader()WP-CLI 1.0

  • @param class-string $class_name @param bool $insecure
  • @return \WP_Upgrader Upgrader instance. @throws \ReflectionException

Хуков нет.

Возвращает

null. Ничего (null).

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

get_upgrader( $class_name, $insecure );
$class_name(обязательный)
.
$insecure
.
По умолчанию: false

Код get_upgrader() WP-CLI 2.13.0-alpha

function get_upgrader( $class_name, $insecure = false ) {
	if ( ! class_exists( '\WP_Upgrader' ) ) {
		if ( file_exists( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' ) ) {
			include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
		}
	}

	if ( ! class_exists( '\WP_Upgrader_Skin' ) ) {
		if ( file_exists( ABSPATH . 'wp-admin/includes/class-wp-upgrader-skin.php' ) ) {
			include ABSPATH . 'wp-admin/includes/class-wp-upgrader-skin.php';
		}
	}

	$uses_insecure_flag = false;

	$reflection  = new ReflectionClass( $class_name );
	$constructor = $reflection->getConstructor();
	if ( $constructor ) {
		$arguments = $constructor->getParameters();
		/** @var ReflectionParameter $argument */
		foreach ( $arguments as $argument ) {
			if ( 'insecure' === $argument->name ) {
				$uses_insecure_flag = true;
				break;
			}
		}
	}

	if ( $uses_insecure_flag ) {
		return new $class_name( new UpgraderSkin(), $insecure );
	} else {
		return new $class_name( new UpgraderSkin() );
	}
}