. */ declare(strict_types=1); namespace App\DataFixtures; use App\Entity\UserSystem\User; use Doctrine\Bundle\FixturesBundle\Fixture; use Doctrine\Common\DataFixtures\DependentFixtureInterface; use Doctrine\ORM\EntityManagerInterface; use Doctrine\Persistence\ObjectManager; use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface; class UserFixtures extends Fixture implements DependentFixtureInterface { public function __construct(protected UserPasswordHasherInterface $encoder, protected EntityManagerInterface $em) { } public function load(ObjectManager $manager): void { $anonymous = new User(); $anonymous->setName('anonymous'); $anonymous->setGroup($this->getReference(GroupFixtures::READONLY)); $anonymous->setNeedPwChange(false); $anonymous->setPassword($this->encoder->hashPassword($anonymous, 'test')); $manager->persist($anonymous); $admin = new User(); $admin->setName('admin'); $admin->setPassword($this->encoder->hashPassword($admin, 'test')); $admin->setNeedPwChange(false); $admin->setGroup($this->getReference(GroupFixtures::ADMINS)); $manager->persist($admin); $user = new User(); $user->setName('user'); $user->setNeedPwChange(false); $user->setFirstName('Test')->setLastName('User'); $user->setPassword($this->encoder->hashPassword($user, 'test')); $user->setGroup($this->getReference(GroupFixtures::USERS)); $manager->persist($user); $noread = new User(); $noread->setName('noread'); $noread->setNeedPwChange(false); $noread->setPassword($this->encoder->hashPassword($noread, 'test')); $manager->persist($noread); $manager->flush(); } public function getDependencies(): array { return [ GroupFixtures::class, ]; } }