Files
2026-04-28 15:13:50 +02:00

41 lines
1016 B
PHP

<?php
declare(strict_types=1);
namespace WCPay\Vendor\League\Container;
use BadMethodCallException;
use WCPay\Vendor\League\Container\Exception\ContainerException;
trait ContainerAwareTrait
{
/**
* @var ?DefinitionContainerInterface
*/
protected $container;
public function setContainer(DefinitionContainerInterface $container): ContainerAwareInterface
{
$this->container = $container;
if ($this instanceof ContainerAwareInterface) {
return $this;
}
throw new BadMethodCallException(sprintf(
'Attempt to use (%s) while not implementing (%s)',
ContainerAwareTrait::class,
ContainerAwareInterface::class
));
}
public function getContainer(): DefinitionContainerInterface
{
if ($this->container instanceof DefinitionContainerInterface) {
return $this->container;
}
throw new ContainerException('No container implementation has been set.');
}
}