Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
digitalascetic/tags / DependencyInjection / DigitalAsceticTagsExtension.php
Size: Mime:
<?php

namespace DigitalAscetic\TagsBundle\DependencyInjection;

use DigitalAscetic\TagsBundle\EventSubscriber\TaggableSubscriber;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\Extension\Extension;
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;

class DigitalAsceticTagsExtension extends Extension implements PrependExtensionInterface
{
    public function load(array $configs, ContainerBuilder $container)
    {
        $config = $this->processConfiguration(new Configuration(), $configs);

        if ($config['enabled']) {
            $taggableSubscriber = new Definition(TaggableSubscriber::class);
            $taggableSubscriber->addArgument($config);
            $taggableSubscriber->addTag('doctrine.event_subscriber');
            $container->setDefinition(TaggableSubscriber::SERVICE_NAME, $taggableSubscriber);
            $container->setAlias(TaggableSubscriber::class, TaggableSubscriber::SERVICE_NAME);
        }
    }

    public function prepend(ContainerBuilder $container)
    {
    }
}