|
2 | 2 |
|
3 | 3 | use Blackfire\Client;
|
4 | 4 | use Blackfire\Profile\Configuration;
|
| 5 | +use Faker\Factory as Faker; |
5 | 6 | use PTS\DataTransformer\DataTransformer;
|
6 | 7 |
|
7 | 8 | require_once __DIR__ .'/../vendor/autoload.php';
|
8 | 9 | require_once 'UserModel.php';
|
| 10 | +$faker = Faker::create(); |
9 | 11 |
|
10 | 12 | $iterations = $argv[1] ?? 1000;
|
11 | 13 | $blackfire = $argv[2] ?? false;
|
12 | 14 | $iterations++;
|
13 | 15 |
|
| 16 | +$service = new DataTransformer; |
| 17 | +$service->getMapsManager()->setMapDir(UserModel::class, __DIR__); |
| 18 | + |
| 19 | +$collectionDto = []; |
| 20 | +while ($iterations--) { |
| 21 | + $collectionDto[] = [ |
| 22 | + 'id' => $faker->randomDigit, |
| 23 | + 'creAt' => $faker->unixTime(), |
| 24 | + 'name' => $faker->name, |
| 25 | + 'login' => $faker->name, |
| 26 | + 'active' => $faker->numberBetween(0, 2), |
| 27 | + 'email' => $faker->email, |
| 28 | + 'childModel' => [ |
| 29 | + 'id' => $faker->randomDigit, |
| 30 | + 'creAt' => time(), |
| 31 | + 'name' => $faker->unixTime(), |
| 32 | + 'login' => $faker->name, |
| 33 | + 'active' => $faker->boolean, |
| 34 | + 'email' => $faker->email, |
| 35 | + ] |
| 36 | + ]; |
| 37 | +} |
| 38 | + |
14 | 39 | if ($blackfire) {
|
15 | 40 | $client = new Client;
|
16 | 41 | $probe = $client->createProbe(new Configuration);
|
17 | 42 | }
|
18 |
| - |
19 | 43 | $startTime = microtime(true);
|
20 |
| -$service = new DataTransformer; |
21 |
| -$service->getMapsManager()->setMapDir(UserModel::class, __DIR__); |
22 | 44 |
|
23 |
| -$dto = [ |
24 |
| - 'id' => 1, |
25 |
| - 'creAt' => time(), |
26 |
| - 'name' => 'Alex', |
27 |
| - 'login' => 'login', |
28 |
| - 'active' => 1, |
29 |
| - |
30 |
| - 'childModel' => [ |
31 |
| - 'id' => 2, |
32 |
| - 'creAt' => time(), |
33 |
| - 'name' => 'Alex2', |
34 |
| - 'login' => 'login2', |
35 |
| - 'active' => false, |
36 |
| - |
37 |
| - ] |
38 |
| -]; |
39 |
| - |
40 |
| -while ($iterations--) { |
| 45 | +foreach ($collectionDto as $dto) { |
41 | 46 | $model = $service->toModel(UserModel::class, $dto);
|
42 | 47 | $dto = $service->toDTO($model);
|
43 | 48 | }
|
|
0 commit comments