zend-blog-3-backend
40 строк · 1.0 Кб
1<?php
2/**
3* Created by PhpStorm.
4* User: morontt
5* Date: 18.06.15
6* Time: 0:23
7*/
8
9namespace App\DependencyInjection;
10
11use App\Cron\CronChain;
12use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
13use Symfony\Component\DependencyInjection\ContainerBuilder;
14use Symfony\Component\DependencyInjection\Reference;
15
16class CronCompilerPass implements CompilerPassInterface
17{
18public function process(ContainerBuilder $container)
19{
20if (!$container->has(CronChain::class)) {
21return;
22}
23
24$definition = $container->findDefinition(CronChain::class);
25
26foreach ($container->findTaggedServiceIds('cron-daily') as $id => $tags) {
27$definition->addMethodCall(
28'addCronDailyService',
29[new Reference($id)]
30);
31}
32
33foreach ($container->findTaggedServiceIds('cron-hourly') as $id => $tags) {
34$definition->addMethodCall(
35'addCronHourlyService',
36[new Reference($id)]
37);
38}
39}
40}
41