Mercurial > packages > magicforger
annotate src/Replacer/Replacer.php @ 27:b17f81b804ff codex
Added support for routes
| author | Luka Sitas <sitas.luka.97@gmail.com> |
|---|---|
| date | Mon, 02 Jun 2025 21:51:09 -0400 |
| parents | 1a717c7b211f |
| children | 010ace248d14 |
| rev | line source |
|---|---|
| 5 | 1 <?php |
| 2 | |
|
19
19b7a8de0019
updating namespace from typo
Luka Sitas <sitas.luka.97@gmail.com>
parents:
14
diff
changeset
|
3 namespace Wizard\MagicForger\Replacer; |
| 5 | 4 |
| 5 use Illuminate\Support\Str; | |
| 6 | |
| 7 trait Replacer | |
| 8 { | |
| 9 /** | |
| 10 * Prefix and Suffix for controller. | |
| 11 * Usage is up to the user. | |
| 12 */ | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
13 protected string $controller_prefix = ''; |
| 5 | 14 |
| 15 /** | |
| 16 * Prefix and Suffix for controller. | |
| 17 * Usage is up to the user. | |
| 18 */ | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
19 protected string $controller_suffix = 'Controller'; |
| 5 | 20 |
| 21 /** | |
| 22 * Finds all places in a string that could be replaced. | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
23 * Returns an array of all potential replacements as they appear in the target. |
| 5 | 24 */ |
|
7
769a17898cc0
Various changes to the generators and replacers - probably mostly just formatting
luka
parents:
5
diff
changeset
|
25 public function get_all_keywords(string $target): array |
| 5 | 26 { |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
27 // find all matches to our expected syntax |
| 5 | 28 $matches = []; |
| 29 preg_match_all('/{{[\sa-zA-Z\-_]+}}/', $target, $matches); | |
| 30 // sort the array and return unique values | |
| 31 sort($matches[0]); | |
|
7
769a17898cc0
Various changes to the generators and replacers - probably mostly just formatting
luka
parents:
5
diff
changeset
|
32 |
| 5 | 33 return array_values(array_unique($matches[0])); |
| 34 } | |
| 35 | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
36 /** |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
37 * Apply replacements to the target string. |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
38 */ |
| 5 | 39 public function apply_replacements(string $target): string |
| 40 { | |
|
7
769a17898cc0
Various changes to the generators and replacers - probably mostly just formatting
luka
parents:
5
diff
changeset
|
41 $inserts = $this->get_all_keywords($target); |
| 5 | 42 $available_replacements = $this->get_available_replacements(); |
| 43 | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
44 return str_replace( |
| 5 | 45 array_keys($available_replacements), |
| 46 $available_replacements, | |
| 47 $target | |
| 48 ); | |
| 49 } | |
| 50 | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
51 /** |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
52 * Get available replacements for string replacements. |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
53 */ |
| 14 | 54 public function get_available_replacements(): array |
| 5 | 55 { |
| 56 $table_name = $this->getTableInput(); | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
57 |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
58 return [ |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
59 '{{ class }}' => $this->getClassName($table_name), |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
60 '{{ controllerName }}' => $this->controller_name($table_name), |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
61 '{{ model }}' => $this->model_name($table_name), |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
62 '{{ modelVariable }}' => $this->model_variable($table_name), |
|
23
827efbf4d73c
Huge changes to the relationships for models and more complex
Luka Sitas <sitas.luka.97@gmail.com>
parents:
21
diff
changeset
|
63 '{{ namespace }}' => $this->{'get'.$this->type.'Namespace'}($table_name), |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
64 '{{ namespacedModel }}' => $this->getNamespacedModel($table_name), |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
65 '{{ requestUses }}' => $this->getRequestUses($table_name), |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
66 '{{ rootNamespace }}' => $this->getRootNamespace(), |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
67 '{{ storeRequest }}' => $this->store_request_name($table_name), |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
68 '{{ tableName }}' => $table_name, |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
69 '{{ updateRequest }}' => $this->update_request_name($table_name), |
| 5 | 70 ]; |
| 71 } | |
| 72 | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
73 // Model and Controller Naming |
| 5 | 74 |
| 75 /** | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
76 * Generate model name in Studly case. |
| 5 | 77 */ |
| 78 public function model_name(string $name): string | |
| 79 { | |
| 80 return Str::singular(Str::studly($name)); | |
| 81 } | |
| 82 | |
| 83 /** | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
84 * Generate singular model variable name. |
| 5 | 85 */ |
| 86 public function model_variable(string $name): string | |
| 87 { | |
| 11 | 88 return Str::singular($name); |
| 5 | 89 } |
| 90 | |
| 91 /** | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
92 * Generate controller name using prefix/suffix and studly case. |
| 5 | 93 */ |
| 94 public function controller_name(string $name): string | |
| 95 { | |
|
23
827efbf4d73c
Huge changes to the relationships for models and more complex
Luka Sitas <sitas.luka.97@gmail.com>
parents:
21
diff
changeset
|
96 return $this->controller_prefix. |
|
827efbf4d73c
Huge changes to the relationships for models and more complex
Luka Sitas <sitas.luka.97@gmail.com>
parents:
21
diff
changeset
|
97 $this->model_name($name). |
| 5 | 98 $this->controller_suffix; |
| 99 } | |
| 100 | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
101 /** |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
102 * Generate the store request name. |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
103 */ |
| 5 | 104 public function store_request_name(string $name): string |
| 105 { | |
|
23
827efbf4d73c
Huge changes to the relationships for models and more complex
Luka Sitas <sitas.luka.97@gmail.com>
parents:
21
diff
changeset
|
106 return 'Store'.$this->model_name($name).'Request'; |
| 5 | 107 } |
| 108 | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
109 /** |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
110 * Generate the update request name. |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
111 */ |
| 5 | 112 public function update_request_name(string $name): string |
| 113 { | |
|
23
827efbf4d73c
Huge changes to the relationships for models and more complex
Luka Sitas <sitas.luka.97@gmail.com>
parents:
21
diff
changeset
|
114 return 'Update'.$this->model_name($name).'Request'; |
| 5 | 115 } |
| 116 | |
|
25
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
117 |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
118 /** |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
119 * Generate the index view name. |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
120 */ |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
121 public function index_view_name(string $name): string |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
122 { |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
123 return ''; |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
124 } |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
125 |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
126 /** |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
127 * Generate the create_edit view name. |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
128 */ |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
129 public function create_edit_view_name(string $name): string |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
130 { |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
131 return ''; |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
132 } |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
133 |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
134 /** |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
135 * Generate the show view name. |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
136 */ |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
137 public function show_view_name(string $name): string |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
138 { |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
139 return ''; |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
140 } |
|
27
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
141 |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
142 |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
143 /** |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
144 * Generate route name in Studly case. |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
145 */ |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
146 public function routes_name(string $name): string |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
147 { |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
148 return Str::singular(Str::studly($name)); |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
149 } |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
150 |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
151 // Namespace Methods |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
152 // These methods handle the formation of various namespaces used within the replacements. |
| 5 | 153 |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
154 /** |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
155 * Get the root namespace for the application. |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
156 */ |
| 14 | 157 public function getRootNamespace(): string |
| 5 | 158 { |
| 159 return $this->laravel->getNamespace(); | |
| 160 } | |
| 161 | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
162 /** |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
163 * Get the model namespace. |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
164 */ |
|
27
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
165 public function getRouteNamespace(string $name = ''): string |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
166 { |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
167 return base_path() |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
168 . DIRECTORY_SEPARATOR . 'routes' |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
169 . DIRECTORY_SEPARATOR . 'resources' |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
170 ; |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
171 } |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
172 |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
173 /** |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
174 * Get the model namespace. |
|
b17f81b804ff
Added support for routes
Luka Sitas <sitas.luka.97@gmail.com>
parents:
25
diff
changeset
|
175 */ |
| 14 | 176 public function getModelNamespace(string $name = ''): string |
| 5 | 177 { |
|
23
827efbf4d73c
Huge changes to the relationships for models and more complex
Luka Sitas <sitas.luka.97@gmail.com>
parents:
21
diff
changeset
|
178 return $this->getRootNamespace().'Models'; |
| 5 | 179 } |
| 180 | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
181 /** |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
182 * Get the fully-qualified namespaced model class. |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
183 */ |
| 14 | 184 public function getNamespacedModel(string $name = ''): string |
| 5 | 185 { |
|
23
827efbf4d73c
Huge changes to the relationships for models and more complex
Luka Sitas <sitas.luka.97@gmail.com>
parents:
21
diff
changeset
|
186 return $this->getModelNamespace().'\\'.$this->model_name($name); |
| 5 | 187 } |
| 188 | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
189 /** |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
190 * Get the controller namespace. |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
191 */ |
| 14 | 192 public function getControllerNamespace(string $name = ''): string |
| 5 | 193 { |
|
23
827efbf4d73c
Huge changes to the relationships for models and more complex
Luka Sitas <sitas.luka.97@gmail.com>
parents:
21
diff
changeset
|
194 return $this->getRootNamespace().'Http\\Controllers'; |
| 5 | 195 } |
| 196 | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
197 /** |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
198 * Get the request namespace. |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
199 */ |
| 14 | 200 public function getRequestNamespace(string $name): string |
| 5 | 201 { |
|
23
827efbf4d73c
Huge changes to the relationships for models and more complex
Luka Sitas <sitas.luka.97@gmail.com>
parents:
21
diff
changeset
|
202 return $this->getRootNamespace().'Http\\Requests\\'.$this->model_name($name); |
| 5 | 203 } |
| 204 | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
205 /** |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
206 * Get the store request namespace. |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
207 */ |
| 14 | 208 public function getStoreRequestNamespace(string $name): string |
| 5 | 209 { |
| 210 return $this->getRequestNamespace($name); | |
| 211 } | |
| 212 | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
213 /** |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
214 * Get the update request namespace. |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
215 */ |
| 14 | 216 public function getUpdateRequestNamespace(string $name): string |
| 5 | 217 { |
| 218 return $this->getRequestNamespace($name); | |
| 219 } | |
| 220 | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
221 /** |
|
25
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
222 * Get the view namespace. |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
223 */ |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
224 public function getViewNamespace(string $name): string |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
225 { |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
226 return $this->viewPath($name) . '\\'; |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
227 } |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
228 |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
229 /** |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
230 * Get the index view namespace. |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
231 */ |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
232 public function getIndexViewNamespace(string $name): string |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
233 { |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
234 return $this->getViewNamespace($name) . '\\'; |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
235 } |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
236 |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
237 /** |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
238 * Get the create_edit view namespace. |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
239 */ |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
240 public function getCreateEditViewNamespace(string $name): string |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
241 { |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
242 return $this->getViewNamespace($name) . '\\'; |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
243 } |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
244 |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
245 /** |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
246 * Get the show view namespace. |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
247 */ |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
248 public function getShowViewNamespace(string $name): string |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
249 { |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
250 return $this->getViewNamespace($name) . '\\'; |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
251 } |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
252 |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
253 |
|
1a717c7b211f
added support for some basic views
Luka Sitas <sitas.luka.97@gmail.com>
parents:
23
diff
changeset
|
254 /** |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
255 * Get the request uses string for replacement. |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
256 */ |
| 14 | 257 public function getRequestUses(string $name): string |
| 5 | 258 { |
| 259 return implode("\n", [ | |
|
23
827efbf4d73c
Huge changes to the relationships for models and more complex
Luka Sitas <sitas.luka.97@gmail.com>
parents:
21
diff
changeset
|
260 'use '.$this->getRequestNamespace($name).'\\'.$this->store_request_name($name).';', |
|
827efbf4d73c
Huge changes to the relationships for models and more complex
Luka Sitas <sitas.luka.97@gmail.com>
parents:
21
diff
changeset
|
261 'use '.$this->getRequestNamespace($name).'\\'.$this->update_request_name($name).';', |
| 5 | 262 ]); |
| 263 } | |
| 264 | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
265 // Text Manipulation |
| 5 | 266 |
| 267 /** | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
268 * Convert a string to a human-readable format. |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
269 * Assumes camel case input. |
| 5 | 270 */ |
| 271 public function human_readable(string $name): string | |
| 272 { | |
| 273 return Str::title(Str::replace('_', ' ', $name)); | |
| 274 } | |
| 275 | |
| 276 /** | |
|
21
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
277 * Convert a string to a lowercase human-readable format. |
|
f0b0d014e448
Cleaning up code based on AI overlord review
Luka Sitas <sitas.luka.97@gmail.com>
parents:
19
diff
changeset
|
278 * Assumes camel case input. |
| 5 | 279 */ |
| 280 public function human_readable_lc(string $name): string | |
| 281 { | |
| 282 return Str::lower($this->human_readable($name)); | |
| 283 } | |
| 284 } |
