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
|
|
|
|
2020-11-18 21:54:20 +00:00
|
|
|
use Automattic\WooCommerce\Vendor\League\Container\ContainerAwareInterface;
|
2020-11-05 16:21:38 +00:00
|
|
|
|
|
|
|
interface ServiceProviderInterface extends ContainerAwareInterface
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Returns a boolean if checking whether this provider provides a specific
|
|
|
|
* service or returns an array of provided services if no argument passed.
|
|
|
|
*
|
|
|
|
* @param string $service
|
|
|
|
*
|
|
|
|
* @return boolean
|
|
|
|
*/
|
|
|
|
public function provides(string $service) : bool;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Use the register method to register items with the container via the
|
|
|
|
* protected $this->leagueContainer property or the `getLeagueContainer` method
|
|
|
|
* from the ContainerAwareTrait.
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function register();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Set a custom id for the service provider. This enables
|
|
|
|
* registering the same service provider multiple times.
|
|
|
|
*
|
|
|
|
* @param string $id
|
|
|
|
*
|
|
|
|
* @return self
|
|
|
|
*/
|
|
|
|
public function setIdentifier(string $id) : ServiceProviderInterface;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The id of the service provider uniquely identifies it, so
|
|
|
|
* that we can quickly determine if it has already been registered.
|
|
|
|
* Defaults to get_class($provider).
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getIdentifier() : string;
|
|
|
|
}
|