@@ -115,101 +115,21 @@ public function generateItem(string $typeGenerator, array $arParams = [], int $c
115115
116116 $ valuePropety = null ;
117117
118+ if (!empty ($ arParams [0 ])) {
119+ $ params = explode (', ' , $ arParams [0 ]);
120+ }
121+ else
122+ {
123+ $ params = [];
124+ }
125+
118126 // @todo Вынести в отдельную сущность, написать через рефлексию генерации где нет параметров
119127 switch ($ typeGenerator ) {
120- case 'name ' :
121- $ valuePropety = $ this ->dataGenerator ->name ;
122- break ;
123-
124- case 'inn ' :
125- $ valuePropety = $ this ->dataGenerator ->inn ;
126- break ;
127-
128- case 'kpp ' :
129- $ valuePropety = $ this ->dataGenerator ->kpp ;
130- break ;
131-
132- case 'address ' :
133- $ valuePropety = $ this ->dataGenerator ->address ;
134- break ;
135-
136- case 'text ' :
137- $ valuePropety = $ this ->dataGenerator ->text ;
138- break ;
139-
140- case 'word ' :
141- $ valuePropety = $ this ->dataGenerator ->word ;
142- break ;
143-
144- case 'city ' :
145- $ valuePropety = $ this ->dataGenerator ->city ;
146- break ;
147-
148- case 'country ' :
149- $ valuePropety = $ this ->dataGenerator ->country ;
150- break ;
151-
152- case 'phoneNumber ' :
153- $ valuePropety = $ this ->dataGenerator ->phoneNumber ;
154- break ;
155-
156- case 'company ' :
157- $ valuePropety = $ this ->dataGenerator ->company ;
158- break ;
159-
160- case 'email ' :
161- $ valuePropety = $ this ->dataGenerator ->email ;
162- break ;
163-
164- case 'streetAddress ' :
165- $ valuePropety = $ this ->dataGenerator ->streetAddress ;
166- break ;
167-
168- case 'date ' :
169- // @todo Добавить формат
170- $ valuePropety = $ this ->dataGenerator ->date ;
171- break ;
172-
173- case 'time ' :
174- // @todo Добавить формат
175- $ valuePropety = $ this ->dataGenerator ->time ;
176- break ;
177-
178- case 'year ' :
179- $ valuePropety = $ this ->dataGenerator ->year ;
180- break ;
181-
182- case 'jobTitle ' :
183- $ valuePropety = $ this ->dataGenerator ->jobTitle ;
184- break ;
185-
186- case 'lastName ' :
187- $ valuePropety = $ this ->dataGenerator ->lastName ;
188- break ;
189-
190- case 'firstName ' :
191- $ valuePropety = $ this ->dataGenerator ->firstName ;
192- break ;
193-
194- case 'hexcolor ' :
195- $ valuePropety = $ this ->dataGenerator ->hexcolor ;
196- break ;
197-
198- case 'latitude ' :
199- $ valuePropety = $ this ->dataGenerator ->latitude ;
200- break ;
201-
202- case 'longitude ' :
203- $ valuePropety = $ this ->dataGenerator ->longitude ;
204- break ;
205-
206128 case 'image ' :
207129
208130 $ height = 1000 ;
209131 $ width = 1000 ;
210132
211- $ params = explode (', ' , $ arParams [0 ]);
212-
213133 if (!empty ($ params )) {
214134 if (is_numeric ($ params [0 ])) {
215135 $ width = $ params [0 ];
@@ -244,13 +164,6 @@ public function generateItem(string $typeGenerator, array $arParams = [], int $c
244164 }
245165 break ;
246166
247- case 'numberBetween ' :
248- // @todo Сделать (1, 100) а не (1)(100)
249- $ numberFrom = is_numeric ($ arParams [0 ]) ? $ arParams [0 ] : 0 ;
250- $ numberTo = is_numeric ($ arParams [1 ]) ? $ arParams [1 ] : 100 ;
251- $ valuePropety = $ this ->dataGenerator ->numberBetween ($ numberFrom , $ numberTo );
252- break ;
253-
254167 case 'randomElement ' :
255168 if ($ count == 1 ) {
256169 if (!empty ($ arParams [0 ])) {
@@ -288,32 +201,20 @@ public function generateItem(string $typeGenerator, array $arParams = [], int $c
288201 break ;
289202
290203 default :
291- $ rc = new \ReflectionClass ($ this ->dataGenerator );
292- if ($ rc ->hasMethod ($ typeGenerator ))
293- {
294- try {
295- if ($ count == 1 ) {
296- $ valuePropety = \call_user_func_array ([$ this ->dataGenerator , $ typeGenerator ], $ arParams );
297- } else {
298- $ valuePropety = [];
299- for ($ i = 0 ; $ i < $ count ; $ i ++) {
300- $ valuePropety [] = \call_user_func_array ([$ this ->dataGenerator , $ typeGenerator ], $ arParams );
301- }
302- }
303- } catch (Exception $ ex ) {
304- $ this ->addError ($ ex ->getMessage ());
305-
306- if ($ this ->isStrictMode ) {
307- throw new GeneratorTypeException ($ ex ->getMessage ());
204+ try {
205+ if ($ count == 1 ) {
206+ $ valuePropety = \call_user_func_array ([$ this ->dataGenerator , $ typeGenerator ], $ params );
207+ } else {
208+ $ valuePropety = [];
209+ for ($ i = 0 ; $ i < $ count ; $ i ++) {
210+ $ valuePropety [] = \call_user_func_array ([$ this ->dataGenerator , $ typeGenerator ], $ params );
308211 }
309212 }
310- }
311- else
312- {
313- $ this ->addError ('Not found generator type ' );
213+ } catch (Exception $ ex ) {
214+ $ this ->addError ($ ex ->getMessage ());
314215
315216 if ($ this ->isStrictMode ) {
316- throw new GeneratorTypeException (' Not found generator type ' );
217+ throw new GeneratorTypeException ($ ex -> getMessage () );
317218 }
318219 }
319220 break ;
0 commit comments