annotate src/Generator/Generator.php @ 13:7ee152c22478 main-dev

Merging
author luka
date Wed, 24 Apr 2024 20:11:52 -0400
parents 769a17898cc0 4bb4daa9e3f1
children 19b7a8de0019
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
1 <?php
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
2
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
3 namespace Wizzard\MagicForger\Generator;
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
4
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
5 use Symfony\Component\Console\Attribute\AsCommand;
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
6 use Symfony\Component\Console\Input\InputInterface;
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
7 use Symfony\Component\Console\Input\InputOption;
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
8 use Symfony\Component\Console\Output\OutputInterface;
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
9
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
10 #[AsCommand(name: 'mf')]
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
11 class Generator extends BaseGenerator
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
12 {
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
13 /**
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
14 * The name and signature of the console command.
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
15 *
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
16 * @var string
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
17 */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
18 protected $name = 'mf';
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
19
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
20 /**
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
21 * The console command description.
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
22 *
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
23 * @var string
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
24 */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
25 protected $description = 'Generates any (or all) of the available files.';
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
26
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
27 /**
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
28 * Execute the console command.
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
29 */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
30 public function handle()
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
31 {
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
32 // First we need to ensure that the table exists, then we can
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
33 if (!$this->tableExists($this->getTableInput())) {
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
34 $this->components->error('The table: "'.$this->getTableInput().'" does not exist in the database.');
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
35
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
36 return false;
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
37 }
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
38
7
769a17898cc0 Various changes to the generators and replacers - probably mostly just formatting
luka
parents: 5
diff changeset
39 /* $this->setCurrentTable($this->getTableInput()); */
769a17898cc0 Various changes to the generators and replacers - probably mostly just formatting
luka
parents: 5
diff changeset
40 /* dd($this->getCurrentTable()->getForeignKeys()); */
5
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
41
3
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
42 if ($this->option('all')) {
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
43 /* $this->input->setOption('factory', true); */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
44 /* $this->input->setOption('seed', true); */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
45 /* $this->input->setOption('migration', true); */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
46 $this->input->setOption('controller', true);
12
4bb4daa9e3f1 Working with the new FileModifier
luka
parents: 3
diff changeset
47 $this->input->setOption('model', true);
5
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
48 $this->input->setOption('request', true);
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
49 $this->input->setOption('route', true);
3
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
50 }
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
51
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
52 /* if ($this->option('factory')) { */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
53 /* $this->createFactory(); */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
54 /* } */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
55
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
56 /* if ($this->option('migration')) { */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
57 /* $this->createMigration(); */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
58 /* } */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
59
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
60 /* if ($this->option('seed')) { */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
61 /* $this->createSeeder(); */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
62 /* } */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
63
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
64 if ($this->option('controller')) {
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
65 $this->createController();
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
66 }
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
67
12
4bb4daa9e3f1 Working with the new FileModifier
luka
parents: 3
diff changeset
68 if ($this->option('model')) {
4bb4daa9e3f1 Working with the new FileModifier
luka
parents: 3
diff changeset
69 $this->createModel();
4bb4daa9e3f1 Working with the new FileModifier
luka
parents: 3
diff changeset
70 }
3
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
71
5
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
72 if ($this->option('request')) {
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
73 $this->createRequest();
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
74 }
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
75
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
76 if ($this->option('route')) {
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
77 $this->createRoute();
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
78 }
3
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
79 }
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
80
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
81 /**
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
82 * Get the console command options.
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
83 *
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
84 * @return array
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
85 */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
86 protected function getOptions()
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
87 {
5
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
88 return array_merge(parent::getOptions(), [
3
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
89 ['all', 'a', InputOption::VALUE_NONE, 'Generate a migration, seeder, factory, policy, resource controller, and form request classes for the table.'],
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
90 ['controller', 'c', InputOption::VALUE_NONE, 'Generate a controller class for the table.'],
5
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
91 ['model', 'm', InputOption::VALUE_NONE, 'Generate a model class for the table.'],
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
92 ['request', 'r', InputOption::VALUE_NONE, 'Generate base request classes for the table.'],
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
93 ['route', 'w', InputOption::VALUE_NONE, 'Generate base routes classes for the table.'],
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
94 ]);
3
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
95 }
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
96
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
97 /**
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
98 * Interact further with the user if they were prompted for missing arguments.
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
99 *
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
100 * @return void
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
101 */
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
102 protected function afterPromptingForMissingArguments(InputInterface $input, OutputInterface $output)
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
103 {
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
104 }
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
105
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
106 protected function getStub()
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
107 {
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
108 }
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
109
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
110 protected function createController()
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
111 {
5
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
112 $this->call('mf:controller', ['table' => $this->getTableInput(), '--fresh' => $this->option('fresh')]);
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
113 }
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
114
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
115 protected function createModel()
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
116 {
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
117 $this->call('mf:model', ['table' => $this->getTableInput(), '--fresh' => $this->option('fresh')]);
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
118 }
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
119
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
120 protected function createRequest()
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
121 {
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
122 $this->call('mf:request', ['table' => $this->getTableInput(), '--fresh' => $this->option('fresh'), '--all' => true]);
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
123 }
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
124
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
125 protected function createRoute()
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
126 {
b0b2e79ad8e6 Not exatly sure what was changed but commiting to it :)
luka
parents: 3
diff changeset
127 $this->call('mf:route', ['table' => $this->getTableInput(), '--fresh' => $this->option('fresh')]);
3
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
128 }
6468684362c2 It works! Created a controller, no update insert but it works
luka
parents:
diff changeset
129 }