for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Happyr\AnnotationWarmer\DependencyInjection\CompilerPass;
use Happyr\AnnotationWarmer\Loader\FakeSerializerLoader;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader;
/**
* @author Tobias Nyholm <[email protected]>
*/
final class AddLoaderToSerializerCacheWarmerPass implements CompilerPassInterface
{
public function process(ContainerBuilder $container)
$definition = $container->getDefinition('serializer.mapping.cache_warmer');
$argument = $definition->getArgument(0);
/** @var Definition $argumentDefinition */
foreach ($argument as $argumentDefinition) {
if (AnnotationLoader::class === $argumentDefinition->getClass()) {
$argument[] = new Reference(FakeSerializerLoader::class);
$definition->replaceArgument(0, $argument);
return;
}