/home/sharedstore/public_html/prestashop.sharedstore.ma/src/Adapter
Edit: /home/sharedstore/public_html/prestashop.sharedstore.ma/src/Adapter/ContainerFinder.php (2398B)
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
namespace PrestaShop\PrestaShop\Adapter;
use Context;
use Controller;
use PrestaShop\PrestaShop\Core\Exception\ContainerNotFoundException;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Find the container
*/
class ContainerFinder
{
/**
* @var Context
*/
protected $context;
/**
* ContainerFinder constructor.
*
* @param Context $context
*/
public function __construct(Context $context)
{
$this->context = $context;
}
/**
* @return ContainerBuilder|ContainerInterface
*
* @throws ContainerNotFoundException
*/
public function getContainer()
{
if (isset($this->context->container)) {
return $this->context->container;
}
if (isset($this->context->controller)
&& $this->context->controller instanceof Controller
&& ($container = $this->context->controller->getContainer())
&& null !== $container
) {
return $container;
}
$container = SymfonyContainer::getInstance();
if (null !== $container) {
return $container;
}
throw new ContainerNotFoundException('Kernel Container is not available');
}
}