zend-blog-3-backend

Форк
0
70 строк · 1.8 Кб
1
<?php
2

3
namespace Mtt\TestBundle\DataFixtures\ORM;
4

5
use App\Entity\User;
6
use App\Utils\RuTransform;
7
use Doctrine\Bundle\FixturesBundle\Fixture;
8
use Doctrine\Common\Persistence\ObjectManager;
9
use Doctrine\Persistence\ObjectManager as ObjectManagerInterface;
10
use Faker\Factory as FakerFactory;
11
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
12
use Symfony\Component\DependencyInjection\ContainerInterface;
13

14
class LoadUserData extends Fixture implements ContainerAwareInterface
15
{
16
    const COUNT_USERS = 10;
17

18
    /**
19
     * @var ContainerInterface
20
     */
21
    protected $container;
22

23
    /**
24
     * {@inheritdoc}
25
     */
26
    public function setContainer(ContainerInterface $container = null)
27
    {
28
        $this->container = $container;
29
    }
30

31
    /**
32
     * @param ObjectManager $manager
33
     */
34
    public function load(ObjectManagerInterface $manager)
35
    {
36
        $user = new User();
37
        $encoder = $this->container
38
            ->get('security.encoder_factory')
39
            ->getEncoder($user);
40

41
        $user
42
            ->setUsername('admin')
43
            ->setEmail('morontt@gmail.com')
44
            ->setPassword($encoder->encodePassword('test', $user->getSalt()))
45
            ->setWsseKey('WSSE-KEY')
46
        ;
47

48
        $manager->persist($user);
49
        $manager->flush();
50

51
        $this->addReference('admin-user', $user);
52

53
        $faker = FakerFactory::create('ru_RU');
54
        $faker->seed(8466);
55

56
        for ($i = 0; $i < self::COUNT_USERS; $i++) {
57
            $user = new User();
58
            $user
59
                ->setUsername(RuTransform::ruTransform($faker->lastName))
60
                ->setEmail($faker->email)
61
                ->setPassword($encoder->encodePassword('test', $user->getSalt()))
62
            ;
63

64
            $manager->persist($user);
65
            $this->addReference('user-' . (string)($i + 1), $user);
66
        }
67

68
        $manager->flush();
69
    }
70
}
71

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.