28
28
use Symfony \Bundle \MakerBundle \Renderer \FormTypeRenderer ;
29
29
use Symfony \Bundle \MakerBundle \Str ;
30
30
use Symfony \Bundle \MakerBundle \Util \ClassSource \Model \ClassData ;
31
- use Symfony \Bundle \MakerBundle \Util \UseStatementGenerator ;
32
31
use Symfony \Bundle \MakerBundle \Validator ;
33
32
use Symfony \Bundle \TwigBundle \TwigBundle ;
34
33
use Symfony \Component \Console \Command \Command ;
@@ -132,11 +131,6 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
132
131
];
133
132
}
134
133
135
- $ controllerClassData = ClassData::create (
136
- class: sprintf ('App\Controller\%sController ' , $ this ->controllerClassName ),
137
- extendsClass: AbstractController::class,
138
- );
139
-
140
134
$ controllerClassDetails = $ generator ->createClassNameDetails (
141
135
$ this ->controllerClassName ,
142
136
'Controller \\' ,
@@ -153,6 +147,20 @@ class: sprintf('App\Controller\%sController', $this->controllerClassName),
153
147
++$ iter ;
154
148
} while (class_exists ($ formClassDetails ->getFullName ()));
155
149
150
+ $ controllerClassData = ClassData::create (
151
+ class: sprintf ('App\Controller\%sController ' , $ this ->controllerClassName ),
152
+ extendsClass: AbstractController::class,
153
+ useStatements: [
154
+ $ entityClassDetails ->getFullName (),
155
+ $ formClassDetails ->getFullName (),
156
+ $ repositoryClassName ,
157
+ AbstractController::class,
158
+ Request::class,
159
+ Response::class,
160
+ Route::class,
161
+ ],
162
+ );
163
+
156
164
$ entityVarPlural = lcfirst ($ this ->inflector ->pluralize ($ entityClassDetails ->getShortName ()));
157
165
$ entityVarSingular = lcfirst ($ this ->inflector ->singularize ($ entityClassDetails ->getShortName ()));
158
166
@@ -162,26 +170,15 @@ class: sprintf('App\Controller\%sController', $this->controllerClassName),
162
170
$ routeName = Str::asRouteName ($ controllerClassDetails ->getRelativeNameWithoutSuffix ());
163
171
$ templatesPath = Str::asFilePath ($ controllerClassDetails ->getRelativeNameWithoutSuffix ());
164
172
165
- $ useStatements = new UseStatementGenerator ([
166
- $ entityClassDetails ->getFullName (),
167
- $ formClassDetails ->getFullName (),
168
- $ repositoryClassName ,
169
- AbstractController::class,
170
- Request::class,
171
- Response::class,
172
- Route::class,
173
- ]);
174
-
175
173
if (EntityManagerInterface::class !== $ repositoryClassName ) {
176
- $ useStatements ->addUseStatement (EntityManagerInterface::class);
174
+ $ controllerClassData ->addUseStatement (EntityManagerInterface::class);
177
175
}
178
176
179
177
$ generator ->generateController (
180
178
$ controllerClassDetails ->getFullName (),
181
179
'crud/controller/Controller.tpl.php ' ,
182
180
array_merge ([
183
181
'class_data ' => $ controllerClassData ,
184
- 'use_statements ' => $ useStatements ,
185
182
'entity_class_name ' => $ entityClassDetails ->getShortName (),
186
183
'form_class_name ' => $ formClassDetails ->getShortName (),
187
184
'route_path ' => Str::asRoutePath ($ controllerClassDetails ->getRelativeNameWithoutSuffix ()),
@@ -252,27 +249,24 @@ class: sprintf('App\Controller\%sController', $this->controllerClassName),
252
249
$ testClassData = ClassData::create (
253
250
class: sprintf ('App\Tests\Controller\%sControllerTest ' , $ entityClassDetails ->getRelativeNameWithoutSuffix ()),
254
251
extendsClass: WebTestCase::class,
252
+ useStatements: [
253
+ $ entityClassDetails ->getFullName (),
254
+ WebTestCase::class,
255
+ KernelBrowser::class,
256
+ $ repositoryClassName ,
257
+ EntityRepository::class,
258
+ ],
255
259
);
256
260
257
- $ useStatements = new UseStatementGenerator ([
258
- $ entityClassDetails ->getFullName (),
259
- WebTestCase::class,
260
- KernelBrowser::class,
261
- $ repositoryClassName ,
262
- ]);
263
-
264
- $ useStatements ->addUseStatement (EntityRepository::class);
265
-
266
261
if (EntityManagerInterface::class !== $ repositoryClassName ) {
267
- $ useStatements ->addUseStatement (EntityManagerInterface::class);
262
+ $ testClassData ->addUseStatement (EntityManagerInterface::class);
268
263
}
269
264
270
265
$ generator ->generateClass (
271
266
$ testClassData ->fullClassName ,
272
267
'crud/test/Test.EntityManager.tpl.php ' ,
273
268
[
274
269
'class_data ' => $ testClassData ,
275
- 'use_statements ' => $ useStatements ,
276
270
'entity_full_class_name ' => $ entityClassDetails ->getFullName (),
277
271
'entity_class_name ' => $ entityClassDetails ->getShortName (),
278
272
'entity_var_singular ' => $ entityVarSingular ,
0 commit comments