РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1233 of 1361 menu

Команда make:user

Команда make:user создаёт PHP-класс, который описывает пользователя приложения. Этот класс реализует интерфейс UserInterface и хранит данные для входа: email, роли, пароль. Команда спрашивает имя класса, поле логина и необходимость хеширования пароля.

Синтаксис

php bin/console make:user

Пример

Давайте создадим класс пользователя User. Запустим команду в терминале:

php bin/console make:user

Команда задаст несколько вопросов и создаст файл src/Entity/User.php:

<?php namespace AppEntity; use AppRepositoryUserRepository; use DoctrineORMMapping as ORM; use SymfonyComponentSecurityCoreUserUserInterface; #[ORMEntity(repositoryClass: UserRepository::class)] class User implements UserInterface { #[ORMId] #[ORMGeneratedValue] #[ORMColumn] private ?int $id = null; #[ORMColumn(unique: true)] private ?string $email = null; #[ORMColumn] private array $roles = []; #[ORMColumn] private ?string $password = null; public function getId(): ?int { return $this->id; } public function getEmail(): ?string { return $this->email; } public function setEmail(string $email): static { $this->email = $email; return $this; } public function getUserIdentifier(): string { return (string) $this->email; } public function getRoles(): array { return array_unique($this->roles); } public function setRoles(array $roles): static { $this->roles = $roles; return $this; } public function getPassword(): ?string { return $this->password; } public function setPassword(string $password): static { $this->password = $password; return $this; } public function eraseCredentials(): void { } } ?>

Пример

Давайте создадим пользователя и выведем его данные:

<?php namespace AppController; use AppEntityUser; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class UserController extends AbstractController { #[Route('/user', name: 'user_show')] public function show(): Response { $user = new User(); $user->setEmail('abcde'); $user->setRoles(['ROLE_USER']); $user->setPassword('hello'); $res = $user->getUserIdentifier() . ' ' . $user->getPassword(); return new Response($res); } } ?>

Результат выполнения кода:

"abcde hello"

Пример

Давайте проверим роли пользователя:

<?php namespace AppController; use AppEntityUser; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class UserController extends AbstractController { #[Route('/roles', name: 'user_roles')] public function roles(): Response { $user = new User(); $user->setRoles(['ROLE_USER', 'ROLE_ADMIN']); return new Response(implode(', ', $user->getRoles())); } } ?>

Результат выполнения кода:

"ROLE_USER, ROLE_ADMIN"

Смотрите также

  • команда make:auth,
    которая создаёт систему аутентификации
  • команда make:registration-form,
    которая создаёт форму регистрации
  • команда make:reset-password,
    которая создаёт сброс пароля
  • команда make:entity,
    которая создаёт сущность Doctrine
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить