Voorbereiding
Lees dit hoofdstuk goed!
Zoals alle hoofdstukken moet je ook dit hoofdstuk goed lezen. Maar nu is het 'nog' belangrijker!
De stappen in dit hoofdstuk moet je stuk voor stuk doorlopen om er voor te zorgen dat alles goed werkt. We hopen je uiteraard zo goed mogelijk op weg te helpen.
Symfony console of php bin/console
Binnen Symfony kan je op twee manieren de console commando's uitvoeren. Als je de symfony-cli hebt geinstalleerd dan kan alles met het commando symfony <commando> of symfony console <commando>
Als dit niet werkt dan heb je het php bin <commando> of php bin/console <commando> nodig.
We adviseren om symfony-cli te installeren en te gebruiken.
Vooraf
Deze handleiding is geschreven voor de basis installatie van de webapp versie van Symfony versie 6.4. Daarbij worden een hoop packages al vooraf geinstalleerd via composer install. Dit is belangrijk om te weten, als je verder leest op de basis pagina's van Symfony zal je hier rekening mee moeten houden.
Deze handleiding is een afgeleide van de handleiding op de officiele Symfony handleiding.
Packages en punten die al geinstalleerd zijn (vanuit de handleiding):
- symfony/security-bundle is al geinstalleerd
- config/packages/security.yaml bestaat al en klopt
De User entity aanmaken
Om in te kunnen loggen hebben we een nieuwe entity nodig, de User entity. Dit doe je door het console commando
bashsymfony console make:user
Als je het commando uitvoert kan je zoals je gewend bent een nieuwe entity maken, de User entity. Let op: als het goed is hoef je op bijna alle vragen alleen op enter te drukken. Maar lees de vragen altijd goed door!
# symfony console make:user
The name of the security user class (e.g. User) [User]:
> User
Do you want to store user data in the database (via Doctrine)? (yes/no) [yes]:
> yes
Enter a property name that will be the unique "display" name for the user
(e.g. email, username, uuid) [email]:
> email
Will this app need to hash/check user passwords? Choose No if passwords are not
needed or will be checked/hashed by some other system (e.g. a single sign-on server).
Does this app need to hash/check user passwords? (yes/no) [yes]:
> yes
created: src/Entity/User.php
created: src/Repository/UserRepository.php
updated: src/Entity/User.php
updated: config/packages/security.yaml
De User entity is nu gemaakt in src/Entity/User.php bestand. Als deze naar wens is kan je nu de database migratie uitvoeren, maar je kan ook met symfony console make:entity User nog velden toevoegen, bijvoorbeeld een voornaam, achternaam, adres etc.
Voer nu de migratie commando's uit:
bashphp bin/console make:migration php bin/console doctrine:migrations:migrate
Je bent nu klaar om gebruikers te registreren!
Meer in In- en uitloggen