Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
symfony [Le 20/06/2012, 13:18] 193.54.225.89 [installation] |
symfony [Le 30/06/2022, 08:25] (Version actuelle) bcag2 warning, un peu de ménage… à continuer |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>programmation internet php}} | + | |
+ | {{tag>brouillon programmation internet php}} | ||
---- | ---- | ||
+ | {{tag> Programmation }} | ||
+ | ---- | ||
+ | {{ https://symfony.com/logos/symfony_black_03.svg?v=4}} | ||
====== Symfony ====== | ====== Symfony ====== | ||
- | + | <note warning>Cette doc est au sujet de version obsolète, cf. [[https://symfony.com/releases]]</note> | |
- | **[[http://www.symfony-project.org/|Symfony]]** est un framework PHP, peut-être même le framework php du moment. 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. | + | **[[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 ===== | ===== Installation ===== | ||
- | ==== Depuis les dépôts Ubuntu (version 1.0.17) ==== | + | ==== Version V4 ==== |
- | + | FIXME v5… v6 | |
- | Installez le paquet **[[apt://php5-symfony1.0|php5-symfony1.0]]** | + | Installer tout d'abord le gestionnaire de dépendances PHP [[https://getcomposer.org/|Composer]]: |
- | + | <code>sudo apt install composer</code> | |
- | ==== Depuis les dépôts du projet (version 1.0.19) ==== | + | 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)): |
- | + | <code>sudo chown -R $USER $HOME/.composer</code> | |
- | [[:tutoriel:comment_modifier_sources_maj#modifier_les_sources_de_mises_a_jour|Ajouter ce dépôt]] à vos sources de logiciels : | + | puis aller dans le répertoire où vous voulez créer votre projet ($USER/workspace par exemple) puis installer le //squelette// de symfony: |
- | <file>deb http://www.symfony-project.org/get debian/</file> | + | |
- | + | ||
- | Puis n'oubliez pas de [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|recharger la liste des paquets disponibles]]. | + | |
- | + | ||
- | [[:tutoriel:comment_installer_un_paquet|Installez]] ensuite le paquet **[[apt://php5-symfony|php5-symfony]]** | + | |
- | + | ||
- | ==== Avec PEAR (version 1.4.17) ==== | + | |
- | + | ||
- | [[:tutoriel:comment_installer_un_paquet|Installez]] d'abord les paquets **[[apt://php-pear,php5-cli,php5-xsl|php-pear php5-cli php5-xsl]]** | + | |
- | + | ||
- | Vous pouvez vérifier l'installation depuis un terminal avec la commande : | + | |
- | + | ||
- | <code>pear list</code> | + | |
- | + | ||
- | Vous aurez la liste des paquets PEAR installés. | + | |
- | + | ||
- | Installez ensuite Symfony avec les commandes : | + | |
<code> | <code> | ||
- | sudo pear channel-discover pear.symfony-project.com | + | # application web |
- | sudo pear install symfony/symfony | + | composer create-project symfony/website-skeleton mon_projet |
+ | # ou bien | ||
+ | # micro-service, application console ou API | ||
+ | composer create-project symfony/skeleton mon_projet | ||
</code> | </code> | ||
- | + | Dans votre navigateur internet, l'url [[http://localhost:8000]] doit vous permettre d'atteindre la page d'accueil de votre projet | |
- | Vous aurez le message suivant vous indiquant que l'installation s'est correctement déroulée. | + | |
- | + | ||
- | <file>install ok: channel://pear.symfony-project.com/symfony-1.4.17</file> | + | |
=== Problèmes et solutions === | === Problèmes et solutions === | ||
- | 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** : | ||
- | |||
- | <file>Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 8192 bytes) in /usr/share/php/PEAR/Installer.php on line 539</file> | ||
- | |||
- | [[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/etc/php5/cli/php.ini** pour allouer 64MB de mémoire puis reprenez l'installation : | ||
- | <file>memory_limit = 64M ; Maximum amount of memory a script may consume (32MB)</file> | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
Ligne 59: | Ligne 38: | ||
symfony -V | symfony -V | ||
</code> | </code> | ||
+ | |||
+ | ===== 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 ===== | ===== Liens ===== | ||
Les tutoriels de developpez.com (qu'il vous faudra peut-être lire en entier) : | 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/#LI|Introduction]] | ||
Ligne 71: | Ligne 56: | ||
* [[http://c-maneu.developpez.com/tutorial/web/php/symfony/intro/#LVI|Les objets de base]] | * [[http://c-maneu.developpez.com/tutorial/web/php/symfony/intro/#LVI|Les objets de base]] | ||
- | ===== Autres pages en lien avec les sujets ===== | + | ===== Autres pages en lien avec les Symfony ===== |
- | {{backlinks>.}} | + | - [[:programmation|Programmation]] |
- | {{topic>internet php web}} | + | - [[: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]].// | + | //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]].// |