Automattic\WooCommerce\Vendor\League\Container\ServiceProvider

ServiceProviderAggregate::add()publicWC 1.0

{@inheritdoc}

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

Хуков нет.

Возвращает

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

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

$ServiceProviderAggregate = new ServiceProviderAggregate();
$ServiceProviderAggregate->add( $provider ) : ServiceProviderAggregateInterface;
$provider (обязательный)
-

Код ServiceProviderAggregate::add() WC 8.7.0

public function add($provider) : ServiceProviderAggregateInterface
{
    if (is_string($provider) && $this->getContainer()->has($provider)) {
        $provider = $this->getContainer()->get($provider);
    } elseif (is_string($provider) && class_exists($provider)) {
        $provider = new $provider;
    }

    if (in_array($provider, $this->providers, true)) {
        return $this;
    }

    if ($provider instanceof ContainerAwareInterface) {
        $provider->setLeagueContainer($this->getLeagueContainer());
    }

    if ($provider instanceof BootableServiceProviderInterface) {
        $provider->boot();
    }

    if ($provider instanceof ServiceProviderInterface) {
        $this->providers[] = $provider;

        return $this;
    }

    throw new ContainerException(
        'A service provider must be a fully qualified class name or instance ' .
        'of (\Automattic\WooCommerce\Vendor\League\Container\ServiceProvider\ServiceProviderInterface)'
    );
}