HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/hcv/wp-content/plugins/wordpress-seo/lib/dependency-injection/container-registry.php
<?php

namespace Yoast\WP\Lib\Dependency_Injection;

use YoastSEO_Vendor\Symfony\Component\DependencyInjection\ContainerInterface;
use YoastSEO_Vendor\Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException;

/**
 * Container_Registry class.
 */
class Container_Registry {

	/**
	 * The registered containers.
	 *
	 * @var ContainerInterface[]
	 */
	private static $containers = [];

	/**
	 * Register a container.
	 *
	 * @param string             $name      The name of the container.
	 * @param ContainerInterface $container The container.
	 *
	 * @return void
	 */
	public static function register( $name, ContainerInterface $container ) {
		self::$containers[ $name ] = $container;
	}

    // phpcs:disable Squiz.Commenting.FunctionCommentThrowTag.WrongNumber -- PHPCS doesn't take into account exceptions thrown in called methods.

	/**
	 * Get an instance from a specific container.
	 *
	 * @param string $name              The name of the container.
	 * @param string $id                The ID of the service.
	 * @param int    $invalid_behaviour The behaviour when the service could not be found.
	 *
	 * @return object|null The service.
	 *
	 * @throws ServiceCircularReferenceException When a circular reference is detected.
	 * @throws ServiceNotFoundException          When the service is not defined.
	 */
	public static function get( $name, $id, $invalid_behaviour = 1 ) {
		if ( ! \array_key_exists( $name, self::$containers ) ) {
			if ( $invalid_behaviour === ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE ) {
				throw new ServiceNotFoundException( $id );
			}
			return null;
		}
		return self::$containers[ $name ]->get( $id, $invalid_behaviour );
	}

    // phpcs:enable Squiz.Commenting.FunctionCommentThrowTag.WrongNumber

	/**
	 * Attempts to find a given service ID in all registered containers.
	 *
	 * @param string $id The service ID.
	 *
	 * @return string|null The name of the container if the service was found.
	 */
	public static function find( $id ) {
		foreach ( self::$containers as $name => $container ) {
			if ( $container->has( $id ) ) {
				return $name;
			}
		}
	}
}