Récupérer un projet Symfony en ligne
Résumons ce que nous savons faire jusque-là :
- Créer un projet (
symfony new...) - Créer des pages (contrôleurs) au sein de ce projet (
php bin/console make:controllerpour créer une classe de contrôleurs, ou bien créer une méthode avec un attributRoutedans une classe de contrôleurs) - Écrire du contenu dans un template Twig
- Configurer les coordonnées d'accès à la base de données (
.env.local) - Créer la base de données, créer une entité, puis, une migration, puis l'exécuter
- Écrire des fixtures puis les exécuter pour insérer des données de test dans la base de données
Mais que faire si nous récupérons un projet Symfony publié sur un dépôt Github ?
Les différentes étapes ci-dessous peuvent varier selon le projet. Il est possible qu'il n'y ait pas de fixtures, par exemple, ou bien de migrations...adaptez les étapes selon le projet concerné
Clôner le projet
Pour récupérer le projet en local sur notre machine, rien de plus simple : on utilisera la commande git clone.
Installer les dépendances
Rappelons que le dossier vendor, géré par Composer, n'est pas versionné. Il faut donc le recréer après avoir récupéré le projet.
Pour le recréer en appliquant exactement les mêmes versions des packages que ce qui a été publié sur Github, on utilisera la commande install de Composer :
composer install
La commande composer install va directement chercher dans le fichier composer.lock les versions précises des packages
Configurer l'accès à la base de données
Comme on l'a vu dans le chapitre sur Doctrine, pour configurer l'accès à la base de données, on devra définir notre propre DATABASE_URL en tant que variable d'environnement dans un fichier .env.local.
Créer sa base de données
Une fois l'accès configuré dans les variables d'environnement, il faut créer la base de données qui réceptionnera notre structure :
php bin/console d:d:c
Cette étape permet également de vérifier que les accès renseignés dans la variable d'environnement sont corrects, donc que l'application est bien capable de se connecter au serveur MySQL
Exécuter les migrations
Une fois la base de données créée, il faut que Doctrine crée sa structure : les tables et les liens entre les différentes tables.
Si on a clôné le projet, alors les migrations sont très probablement déjà disponibles dans le dossier migrations. Nous allons donc directement les exécuter :
php bin/console d:m:m
Charger les données de test (fixtures)
Enfin, une fois la base de données créée et la structure chargée, nous allons y importer nos données de test : les fixtures.
Comme les migrations, les fixtures existent certainement déjà au sein du code, on peut alors les exécuter directement :
php bin/console d:f:l