{{tag>brouillon programmation internet php framework bionic focal}} {{ http://symfony.com/logos/symfony_black_03.svg?v=4}} ====== Symfony ====== **[[https://www.symfony.com/|Symfony]]** est un des frameworks PHP les plus utilisés. Il propose une architecture MVC (Modèle Vue Contrôleur), design patterns, l'abstraction de base de données, le mapping objet-relationnel avec Doctrine, les tests unitaires et fonctionnels, le routing des URL, des formulaires, du cache, l'internationalisation et la génération des interfaces d'administration, etc. ===== Installation ===== 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 === FIXME Il semblerait que l'installation de Symfony soit plus gourmande en ressources que les précédentes versions. Si vous obtenez le message d'erreur suivant (ou pas de message du tout) vous devrez augmenter la mémoire alloué à **php-cli** : Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 8192 bytes) in /usr/share/php/PEAR/Installer.php on line 539 [[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/etc/php5/cli/php.ini** pour allouer 64MB de mémoire puis reprenez l'installation : memory_limit = 64M ; Maximum amount of memory a script may consume (32MB) ===== Utilisation ===== Respectivement les commandes suivantes vous donnent l'aide et la version installée : symfony symfony -V ===== Extensions ===== Pour ajouter le gestionnaire de paquets **//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 ===== * (en) [[https://knpuniversity.com/screencast/symfony/setup|vidéo installation symfony v4]] Les tutoriels de developpez.com (qu'il vous faudra peut-être lire en entier) : * [[http://j-place.developpez.com/tutoriels/php/creer-premiere-application-web-avec-symfony2/]] * [[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:krodelabestiole]], [[:utilisateurs:lami|L'ami René]] (Mise en page)+(Autres pages en lien avec les sujets), [[:utilisateurs:draco31.fr]], [[:utilisateurs:Lenezir]], [[:utilisateurs:YannUbuntu]].//