Passed
Push — master ( d346aa...fd2cec )
by Nicolas
04:54
created

AppFixtures::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
ccs 0
cts 2
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace App\DataFixtures;
4
5
use App\Entity\User;
6
use Doctrine\Bundle\FixturesBundle\Fixture;
7
use Doctrine\Common\Persistence\ObjectManager;
8
use Nelmio\Alice\Loader\NativeLoader;
9
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
10
11
/**
12
 * AppFixtures.
13
 */
14
class AppFixtures extends Fixture
15
{
16
    /**
17
     * @var UserPasswordEncoderInterface
18
     */
19
    private $passwordEncoder;
20
21
    /**
22
     * @param UserPasswordEncoderInterface $passwordEncoder
23
     */
24
    public function __construct(UserPasswordEncoderInterface $passwordEncoder)
25
    {
26
        $this->passwordEncoder = $passwordEncoder;
27
    }
28
29
    /**
30
     * {@inheritdoc}
31
     */
32
    public function load(ObjectManager $manager)
33
    {
34
        $objectSet = (new NativeLoader())->loadFile(__DIR__.'/../../fixtures/data.yaml');
35
36
        foreach ($objectSet->getObjects() as $object) {
37
            if ($object instanceof User) {
38
                $object->setPassword($this->passwordEncoder->encodePassword($object, $object->getPassword()));
39
            }
40
            $manager->persist($object);
41
        }
42
43
        $manager->flush();
44
    }
45
}
46