Automattic\WooCommerce\Api\Infrastructure

Main::assert_is_controller_subclassprivate staticWC 1.0

Assert that a class name resolves to a concrete GraphQLControllerBase subclass.

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

Хуков нет.

Возвращает

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

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

$result = Main::assert_is_controller_subclass( $controller_class_name ): void;
$controller_class_name(строка) (обязательный)
Fully-qualified name of the class to validate.

Код Main::assert_is_controller_subclass() WC 11.0.1

private static function assert_is_controller_subclass( string $controller_class_name ): void {
	// Differentiate "class does not exist" (typo / stale autoloader) from
	// "class exists but is not a subclass" — is_subclass_of() collapses
	// both into false, which is confusing when debugging a bootstrap typo.
	if ( ! class_exists( $controller_class_name ) ) {
		throw new \InvalidArgumentException(
			sprintf(
				'GraphQL controller class "%s" does not exist or is not autoloadable. Check the spelling, or run `composer dump-autoload` if it was added since the last autoloader regeneration.',
				esc_html( $controller_class_name )
			)
		);
	}
	if ( ! is_subclass_of( $controller_class_name, GraphQLControllerBase::class ) ) {
		throw new \InvalidArgumentException(
			sprintf(
				'Class "%s" must extend %s.',
				esc_html( $controller_class_name ),
				esc_html( GraphQLControllerBase::class )
			)
		);
	}
}