for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is part of the Sonata Project package.
*
* (c) Thomas Rabaix <[email protected]>
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Sonata\DoctrineORMAdminBundle\DependencyInjection\Compiler;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference;
/**
* @author Thomas Rabaix <[email protected]>
class AddGuesserCompilerPass implements CompilerPassInterface
{
* {@inheritdoc}
public function process(ContainerBuilder $container)
// ListBuilder
$definition = $container->getDefinition('sonata.admin.guesser.orm_list_chain');
$services = array();
foreach ($container->findTaggedServiceIds('sonata.admin.guesser.orm_list') as $id => $attributes) {
$services[] = new Reference($id);
}
$definition->replaceArgument(0, $services);
// DatagridBuilder
$definition = $container->getDefinition('sonata.admin.guesser.orm_datagrid_chain');
foreach ($container->findTaggedServiceIds('sonata.admin.guesser.orm_datagrid') as $id => $attributes) {
// ShowBuilder
$definition = $container->getDefinition('sonata.admin.guesser.orm_show_chain');
foreach ($container->findTaggedServiceIds('sonata.admin.guesser.orm_show') as $id => $attributes) {