2020-11-05 16:21:38 +00:00
|
|
|
<?php declare(strict_types=1);
|
|
|
|
|
2020-11-18 21:54:20 +00:00
|
|
|
namespace Automattic\WooCommerce\Vendor\League\Container\ServiceProvider;
|
2020-11-05 16:21:38 +00:00
|
|
|
|
|
|
|
use IteratorAggregate;
|
2020-11-18 21:54:20 +00:00
|
|
|
use Automattic\WooCommerce\Vendor\League\Container\ContainerAwareInterface;
|
2020-11-05 16:21:38 +00:00
|
|
|
|
|
|
|
interface ServiceProviderAggregateInterface extends ContainerAwareInterface, IteratorAggregate
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Add a service provider to the aggregate.
|
|
|
|
*
|
|
|
|
* @param string|ServiceProviderInterface $provider
|
|
|
|
*
|
|
|
|
* @return self
|
|
|
|
*/
|
|
|
|
public function add($provider) : ServiceProviderAggregateInterface;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Determines whether a service is provided by the aggregate.
|
|
|
|
*
|
|
|
|
* @param string $service
|
|
|
|
*
|
|
|
|
* @return boolean
|
|
|
|
*/
|
|
|
|
public function provides(string $service) : bool;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Invokes the register method of a provider that provides a specific service.
|
|
|
|
*
|
|
|
|
* @param string $service
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function register(string $service);
|
|
|
|
}
|