HEX
Server: LiteSpeed
System: Linux premium212.web-hosting.com 4.18.0-553.124.4.lve.el8.x86_64 #1 SMP Fri May 15 13:02:13 UTC 2026 x86_64
User: vitanhod (1367)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: /home/vitanhod/public_html/wp-content/plugins/woocommerce/src/Api/Infrastructure/ClassResolver.php
<?php

declare(strict_types=1);

namespace Automattic\WooCommerce\Api\Infrastructure;

/**
 * Class resolver for code-API command classes and other infrastructure classes.
 *
 * Plugins that implement their own API and want their command and infrastructure
 * classes instantiated through a container of their own can ship their own
 * ClassResolver class at `<plugin-api-namespace>\Infrastructure\ClassResolver`
 * with the same public signature: ApiBuilder detects it during generation
 * and routes the generated resolvers through it. When no such class is present,
 * resolvers fall back to `new $class_name()`.
 */
final class ClassResolver {
	/**
	 * Resolve a class to an instance.
	 *
	 * @param string $class_name Fully qualified name of the class to resolve.
	 * @return object An instance of $class_name.
	 */
	public static function resolve_class( string $class_name ): object {
		return wc_get_container()->get( $class_name );
	}
}