Completed
Push — master ( a81a90...8dc74b )
by Valery
04:17
created

UserFixtures::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 3
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace App\DataFixtures;
6
7
use App\Entity\User;
8
use Doctrine\Bundle\FixturesBundle\Fixture;
9
use Doctrine\Common\Persistence\ObjectManager;
10
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
11
12
class UserFixtures extends Fixture
13
{
14
    /**
15
     * @var UserPasswordEncoderInterface
16
     */
17
    private $passwordEncoder;
18
19
    public const ADMIN_USER_REFERENCE = 'admin';
20
21
    public function __construct(UserPasswordEncoderInterface $passwordEncoder)
22
    {
23
        $this->passwordEncoder = $passwordEncoder;
24
    }
25
26
    public function load(ObjectManager $manager): void
27
    {
28
        $user = new User();
29
        $user->setFullName('John Smith');
30
        $user->setUsername('admin');
31
        $user->setPassword($this->passwordEncoder->encodePassword(
32
            $user, 'admin'
33
        ));
34
        $user->setPhone('0(0)99766899');
35
        $user->setEmail('admin@admin');
36
        $user->setRoles(['ROLE_ADMIN']);
37
        $manager->persist($user);
38
        $manager->flush();
39
        $this->addReference(self::ADMIN_USER_REFERENCE, $user);
40
    }
41
}
42