* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShopBundle\DependencyInjection; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; use Symfony\Component\HttpKernel\DependencyInjection\Extension; /** * Adds main PrestaShop core services to the Symfony container. */ class PrestaShopExtension extends Extension { /** * {@inheritdoc} */ public function load(array $configs, ContainerBuilder $container) { $configuration = new AddOnsConfiguration(); $config = $this->processConfiguration($configuration, $configs); $loader = new YamlFileLoader($container, new FileLocator(dirname(__DIR__) . '/Resources/config')); $env = $container->getParameter('kernel.environment'); $loader->load('services_' . $env . '.yml'); $container->setParameter('prestashop.addons.categories', $config['addons']['categories']); } /** * {@inheritdoc} */ public function getConfiguration(array $config, ContainerBuilder $container) { return new AddOnsConfiguration(); } /** * {@inheritdoc} */ public function getAlias() { return 'prestashop'; } }