{{tag>brouillon programmation internet php}}
----
{{tag> Programmation }}
----
{{ https://symfony.com/logos/symfony_black_03.svg?v=4}}
====== Symfony ======
Cette doc est au sujet de version obsolète, cf. [[https://symfony.com/releases]]
**[[https://www.symfony.com/|Symfony]]** est un des framework PHP les plus utilisé. Il a une architecture MVC (Modèle Vue Controlleur), design patterns, l'abstraction de base de données, le mapping objet-relationnel avec Doctrine, le tests unitaires et fonctionnels, la gestion des URL, des formulaires, du cache, l'internationalisation et la génération des interfaces d'administration, etc.
===== Installation =====
==== Version V4 ====
FIXME v5… v6
Installer tout d'abord le gestionnaire de dépendances PHP [[https://getcomposer.org/|Composer]]:
sudo apt install composer
Se définir propriétaire des répertoires associés pour permettre à //composer// de créer les //caches// sans utiliser //sudo// ((https://stackoverflow.com/questions/35874482/cannot-create-cache-directory-or-directory-is-not-writable-proceeding-withou#39295652)):
sudo chown -R $USER $HOME/.composer
puis aller dans le répertoire où vous voulez créer votre projet ($USER/workspace par exemple) puis installer le //squelette// de symfony:
# application web
composer create-project symfony/website-skeleton mon_projet
# ou bien
# micro-service, application console ou API
composer create-project symfony/skeleton mon_projet
Dans votre navigateur internet, l'url [[http://localhost:8000]] doit vous permettre d'atteindre la page d'accueil de votre projet
=== Problèmes et solutions ===
===== Utilisation =====
Respectivement les commandes suivantes vous donnent l'aide et la version installée :
symfony
symfony -V
===== Extensions =====
Pour ajouter le gestionnaire de paquet **//Yarn//**: [[https://yarnpkg.com/lang/en/docs/install/#debian-stable]]\\
qui permet par exemple d'ajouter //bootstrap// [[https://symfony.com/doc/current/frontend/encore/bootstrap.html]]
===== Liens =====
Les tutoriels de developpez.com (qu'il vous faudra peut-être lire en entier) :
* [[https://j-place.developpez.com/tutoriels/php/creer-premiere-application-web-avec-symfony2/]]
* [[https://www.youtube.com/watch?v=UTusmVpwJXo]|tuto de Lior Chamla sur SF5 (1h, malheureusement install avec wamp :-(, suite payante]]
* [[http://c-maneu.developpez.com/tutorial/web/php/symfony/intro/#LI|Introduction]]
* [[http://c-maneu.developpez.com/tutorial/web/php/symfony/intro/#LIII|La création d'un projet]]
* [[http://c-maneu.developpez.com/tutorial/web/php/symfony/intro/#LIV|Les fichiers de configuration]]
* [[http://c-maneu.developpez.com/tutorial/web/php/symfony/intro/#LV|La base de données]]
* [[http://c-maneu.developpez.com/tutorial/web/php/symfony/intro/#LVI|Les modules]]
* [[http://c-maneu.developpez.com/tutorial/web/php/symfony/intro/#LVI|Les objets de base]]
===== Autres pages en lien avec les Symfony =====
- [[:programmation|Programmation]]
- [[:tutoriel/demarrer_un_projet_web_avec_symfony|démarrer un projet web avec Symfony]]
----
//Contributeur(e)s : [[utilisateurs:_Enchained]], [[utilisateurs:lami|L'ami René]] (Mise en page)+(Autres pages en lien avec les sujets), [[utilisateurs:draco31.fr]], [[utilisateurs:Lenezir]], [[utilisateurs:YannUbuntu]], [[utilisateurs:bcag2]].//