388991f373184b66106c056d784efa2a863e5861
[yaffs-website] / vendor / drupal / console / src / Generator / RouteSubscriberGenerator.php
1 <?php
2
3 /**
4  * @file
5  * Contains \Drupal\Console\Generator\RouteSubscriberGenerator.
6  */
7
8 namespace Drupal\Console\Generator;
9
10 use Drupal\Console\Core\Generator\Generator;
11 use Drupal\Console\Extension\Manager;
12
13 class RouteSubscriberGenerator extends Generator
14 {
15     /**
16      * @var Manager
17      */
18     protected $extensionManager;
19
20     /**
21      * AuthenticationProviderGenerator constructor.
22      *
23      * @param Manager $extensionManager
24      */
25     public function __construct(
26         Manager $extensionManager
27     ) {
28         $this->extensionManager = $extensionManager;
29     }
30
31     /**
32      * Generator Service.
33      *
34      * @param string $module Module name
35      * @param string $name   Service name
36      * @param string $class  Class name
37      */
38     public function generate($module, $name, $class)
39     {
40         $parameters = [
41           'module' => $module,
42           'name' => $name,
43           'class' => $class,
44           'class_path' => sprintf('Drupal\%s\Routing\%s', $module, $class),
45           'tags' => ['name' => 'event_subscriber'],
46           'file_exists' => file_exists($this->extensionManager->getModule($module)->getPath() .'/'.$module.'.services.yml'),
47         ];
48
49         $this->renderFile(
50             'module/src/Routing/route-subscriber.php.twig',
51             $this->extensionManager->getModule($module)->getRoutingPath().'/'.$class.'.php',
52             $parameters
53         );
54
55         $this->renderFile(
56             'module/services.yml.twig',
57             $this->extensionManager->getModule($module)->getPath() .'/'.$module.'.services.yml',
58             $parameters,
59             FILE_APPEND
60         );
61     }
62 }