zend-blog-3-backend
70 строк · 1.8 Кб
1<?php
2
3namespace Mtt\TestBundle\DataFixtures\ORM;
4
5use App\Entity\User;
6use App\Utils\RuTransform;
7use Doctrine\Bundle\FixturesBundle\Fixture;
8use Doctrine\Common\Persistence\ObjectManager;
9use Doctrine\Persistence\ObjectManager as ObjectManagerInterface;
10use Faker\Factory as FakerFactory;
11use Symfony\Component\DependencyInjection\ContainerAwareInterface;
12use Symfony\Component\DependencyInjection\ContainerInterface;
13
14class LoadUserData extends Fixture implements ContainerAwareInterface
15{
16const COUNT_USERS = 10;
17
18/**
19* @var ContainerInterface
20*/
21protected $container;
22
23/**
24* {@inheritdoc}
25*/
26public function setContainer(ContainerInterface $container = null)
27{
28$this->container = $container;
29}
30
31/**
32* @param ObjectManager $manager
33*/
34public 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
56for ($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