MBO-SD : De site voor software developer in het MBO
Voorbereidingen
Lees dit hoofdstuk goed!
Zoal 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
niets
voor te doen.
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
symfony console make:user
Let op! gebruik niet
het commando make:entity
, dit maakt ook
de user-entity aan, maar slaat een aantal belangrijke zaken over.
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:
php bin/console make:migration
php bin/console doctrine:migrations:migrate