Version 1
[yaffs-website] / vendor / drupal / console / src / Generator / ControllerGenerator.php
1 <?php
2
3 /**
4  * @file
5  * Contains Drupal\Console\Generator\ControllerGenerator.
6  */
7
8 namespace Drupal\Console\Generator;
9
10 use Drupal\Console\Core\Generator\Generator;
11 use Drupal\Console\Extension\Manager;
12
13 class ControllerGenerator 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     public function generate($module, $class, $routes, $test, $services)
32     {
33         $parameters = [
34           'class_name' => $class,
35           'services' => $services,
36           'module' => $module,
37           'routes' => $routes,
38           //'learning' => $this->isLearning(),
39         ];
40
41         $this->renderFile(
42             'module/src/Controller/controller.php.twig',
43             $this->extensionManager->getModule($module)->getControllerPath().'/'.$class.'.php',
44             $parameters
45         );
46
47         $this->renderFile(
48             'module/routing-controller.yml.twig',
49             $this->extensionManager->getModule($module)->getPath().'/'.$module.'.routing.yml',
50             $parameters,
51             FILE_APPEND
52         );
53
54         if ($test) {
55             $this->renderFile(
56                 'module/Tests/Controller/controller.php.twig',
57                 $this->extensionManager->getModule($module)->getTestPath('Controller').'/'.$class.'Test.php',
58                 $parameters
59             );
60         }
61     }
62 }