Introduction
Pourquoi un framework, et quoi installer
Readme du dépôt et guide d'installation Windows
À retenir
- Un MVC fait main apporte la SOC (séparation des responsabilités), la maintenabilité et le travail en équipe, mais il est long à réécrire : on finissait par copier-coller les mêmes fichiers. Symfony automatise cette architecture par des lignes de commande.
- Un framework accélère les grosses applications ; pour une très petite, il est lourd et lent.
« Il est inutile d'invoquer l'artillerie lourde pour envoyer une fléchette. »
Installer
| Outil | Commande |
|---|---|
| PHP 8.2 minimum | php -v |
| Composer | getcomposer.org |
| Scoop (Windows) | scoop.sh |
| Symfony CLI | scoop install symfony-cli |
| Vérification | symfony check:requirements |
À l'IUT, sans droits administrateur : PHP copié dans le dossier utilisateur avec un php-perso.ini (extensions curl et openssl activées), proxy déclaré dans chaque terminal (set HTTP_PROXY=..., set HTTPS_PROXY=...), composer.phar téléchargé avec curl, puis composer create-project symfony/skeleton et serveur php -S localhost:8000 -t public ou symfony serve --no-tls.
Le vocabulaire
| Bundle | paquet qui ajoute une fonctionnalité (Twig, Doctrine, Security, Maker…) |
|---|---|
| Maker | les générateurs make:... |
| Contrôleur | classe dont les méthodes répondent aux routes |
| Entité | classe PHP qui représente une table |
| Repository | classe qui lit les entités en base |
| EntityManager | service qui écrit : persist, flush, remove |
| Migration | fichier qui contient le SQL d'évolution de la base |
| FormType | classe qui décrit un formulaire |
| Fixture | classe qui remplit la base de fausses données |
| Firewall | partie de security.yaml qui identifie l'utilisateur |
Vérifiez-vous
D'après le cours, quand un framework est-il superflu ?
Le framework accélère les grosses applications. Pour une petite, c'est « l'artillerie lourde pour envoyer une fléchette ».
Quelle commande vérifie que la machine est prête pour Symfony ?
server:ca:install installe le certificat HTTPS local, ce n'est pas une vérification.