Framework PHP : Symfony 4.0 automatise l'installation de paquets et la configuration
Et réduit de 70 % la taille des applications
Le 2017-12-04 13:17:04, par Michael Guilloux, Chroniqueur Actualités
SensioLabs a annoncé il y a quelques jours la sortie du Symfony 4.0.0, un ensemble de composants PHP ainsi qu'un framework écrit en PHP qui fournit des fonctionnalités modulables et adaptables qui permettent de faciliter et d’accélérer le développement d'un site Web.
Le framework Symfony 4 est construit avec la dernière version de Symfony Components. Il s'agit d'un ensemble de bibliothèques PHP réutilisables qui devient une base standard pour la construction d'applications PHP. Il faut noter qu'il est possible d'utiliser n'importe lequel de ces composants dans vos propres applications indépendamment du framework Symfony.
Pour ses créateurs, Symfony 4 n'est pas seulement une nouvelle version majeure, mais une toute nouvelle expérience développeur. Parmi les nouveautés et améliorations, on note par exemple une installation automatisée de paquets avec Symfony Flex. Symfony Flex est la nouvelle façon de gérer les applications Symfony. Il est basé sur Symfony Recipes, un ensemble d'instructions automatisées pour intégrer des packages tiers dans des applications Symfony. Symfony 4 s'intègre parfaitement avec Symfony Flex pour automatiser les tâches les plus courantes effectuées sur les applications. Vous n'aurez par exemple pas à activer des bundles. Symfony Flex le fait pour vous, d'après SensioLabs.
Si vous regardez le fichier services.yaml dans un nouveau projet à partir de Symfony 3.3, vous remarquerez de gros changements : _defaults, autowiring, autoconfigure et plus encore. Ces fonctionnalités ont été conçues pour automatiser la configuration et accélérer le développement. Ainsi, Symfony 4 permet aux développeurs de se concentrer davantage sur l'écriture de code et ne pas perdre de temps sur la configuration.
Comme autre amélioration, on peut également retenir que les nouvelles applications créées avec Symfony 4 sont basées sur un micronoyau et contiennent 70 % moins de code et de fichiers que les nouvelles applications Symfony 3. Cela a été possible grâce à des optimisations, y compris la suppression de toutes les dépendances non essentielles. Comme résultat, cette version a la plus petite empreinte sur les frameworks PHP, CMS et autres projets qui utilisent Symfony. SensioLabs estime également que Symfony est maintenant idéal pour tout type de projet : microservices, API, applications Web monolithiques, applications consoles ou backend pour applications JavaScript.
« Symfony 4 représente une refonte complète de ses idées et fonctionnalités pour les adapter aux pratiques de l'industrie : les bundles d'applications ont disparu, les paramètres de configuration sont maintenant des variables d'environnement, la structure du répertoire d'application est plus facile à parcourir et des centaines d'autres petites améliorations vous feront aimer Symfony. Le résultat est qu'il y a moins de concepts Symfony et plus de pratiques standard », explique SensioLabs sur son site officiel. Des optimisations de chaque partie de Symfony ont également apporté des gains de performance.
Il y a bien d'autres fonctionnalités, y compris le nouveau MakerBundle pour la génération de code et Webpack Encore qui offre un moyen plus simple d'intégrer Webpack dans votre application.
En ce qui concerne la mise à niveau de vos applications existantes vers cette nouvelle version, les développeurs de Symfony promettent une expérience plutôt facile grâce à une bonne rétrocompatibilité. Mais il faudra d'abord faire une mise à niveau vers Symfony 3.4, qui offre une compatibilité totale avec n'importe quelle version de Symfony 3.x. Ensuite, vous devez corriger les problèmes de dépréciations signalées pour être prêt à effectuer une mise à niveau instantanée vers Symfony 4.
Symfony 4 est disponible depuis le 30 novembre, le jour même de la sortie de PHP 7.2. Notons qu'il requiert au moins la version 7.1.13 du langage de développement Web côté serveur afin de fonctionner.
Sources : Annonce de la sortie de Symfony 4, Symfony 4
Et vous ?
Utilisez-vous Symfony ?
Si oui, quelles versions et comment le trouvez-vous par rapport aux autres frameworks PHP ?
Sinon, quels frameworks PHP utilisez-vous ?
Voir aussi :
Rubrique Symfony : Forums, FAQ, Cours et tutoriels, etc.
PHP 7.2 est disponible en version stable avec la bibliothèque de cryptographie Sodium et d'autres améliorations et nouvelles fonctionnalités
Le framework Symfony 4 est construit avec la dernière version de Symfony Components. Il s'agit d'un ensemble de bibliothèques PHP réutilisables qui devient une base standard pour la construction d'applications PHP. Il faut noter qu'il est possible d'utiliser n'importe lequel de ces composants dans vos propres applications indépendamment du framework Symfony.
Pour ses créateurs, Symfony 4 n'est pas seulement une nouvelle version majeure, mais une toute nouvelle expérience développeur. Parmi les nouveautés et améliorations, on note par exemple une installation automatisée de paquets avec Symfony Flex. Symfony Flex est la nouvelle façon de gérer les applications Symfony. Il est basé sur Symfony Recipes, un ensemble d'instructions automatisées pour intégrer des packages tiers dans des applications Symfony. Symfony 4 s'intègre parfaitement avec Symfony Flex pour automatiser les tâches les plus courantes effectuées sur les applications. Vous n'aurez par exemple pas à activer des bundles. Symfony Flex le fait pour vous, d'après SensioLabs.
Si vous regardez le fichier services.yaml dans un nouveau projet à partir de Symfony 3.3, vous remarquerez de gros changements : _defaults, autowiring, autoconfigure et plus encore. Ces fonctionnalités ont été conçues pour automatiser la configuration et accélérer le développement. Ainsi, Symfony 4 permet aux développeurs de se concentrer davantage sur l'écriture de code et ne pas perdre de temps sur la configuration.
Comme autre amélioration, on peut également retenir que les nouvelles applications créées avec Symfony 4 sont basées sur un micronoyau et contiennent 70 % moins de code et de fichiers que les nouvelles applications Symfony 3. Cela a été possible grâce à des optimisations, y compris la suppression de toutes les dépendances non essentielles. Comme résultat, cette version a la plus petite empreinte sur les frameworks PHP, CMS et autres projets qui utilisent Symfony. SensioLabs estime également que Symfony est maintenant idéal pour tout type de projet : microservices, API, applications Web monolithiques, applications consoles ou backend pour applications JavaScript.
« Symfony 4 représente une refonte complète de ses idées et fonctionnalités pour les adapter aux pratiques de l'industrie : les bundles d'applications ont disparu, les paramètres de configuration sont maintenant des variables d'environnement, la structure du répertoire d'application est plus facile à parcourir et des centaines d'autres petites améliorations vous feront aimer Symfony. Le résultat est qu'il y a moins de concepts Symfony et plus de pratiques standard », explique SensioLabs sur son site officiel. Des optimisations de chaque partie de Symfony ont également apporté des gains de performance.
Il y a bien d'autres fonctionnalités, y compris le nouveau MakerBundle pour la génération de code et Webpack Encore qui offre un moyen plus simple d'intégrer Webpack dans votre application.
En ce qui concerne la mise à niveau de vos applications existantes vers cette nouvelle version, les développeurs de Symfony promettent une expérience plutôt facile grâce à une bonne rétrocompatibilité. Mais il faudra d'abord faire une mise à niveau vers Symfony 3.4, qui offre une compatibilité totale avec n'importe quelle version de Symfony 3.x. Ensuite, vous devez corriger les problèmes de dépréciations signalées pour être prêt à effectuer une mise à niveau instantanée vers Symfony 4.
Symfony 4 est disponible depuis le 30 novembre, le jour même de la sortie de PHP 7.2. Notons qu'il requiert au moins la version 7.1.13 du langage de développement Web côté serveur afin de fonctionner.
Sources : Annonce de la sortie de Symfony 4, Symfony 4
Et vous ?
Voir aussi :
-
bretusMembre éprouvéEn réseau d'entreprise ou d'école, tu es régulièrement emmerdé par un proxy que ce soit sous windows ou linux... Je ne vois pas en quoi ça concerne Symfony ou même composer : Le problème se pose pour tous les gestionnaires de dépendances (composer, pip, maven, npm, etc.). Rien d'insurmontable, on explique ce qui coince et on s'en sort avec des fiches d'installations ou des VM...
Sur le fond du problème de notre ami, je pense surtout qu'il fait une formation sans transition entre "voilà comment on gère un formulaire avec des $_POST et include dégueulasses" et "voilà comment on peut aussi faire ça proprement avec Symfony"...
C'est sûr qu'avec un programme pareil, les élèves vont comprendre que MVC structure l'application, résout les problèmes d'include et de routing entre les pages... Ils vont aussi comprendre en quoi le moteur de template protège contre les injections XSS et mesurer toute l'importance de la validation des paramètres... Soyons fous, ils vont même comprendre en quoi l'injection de dépendance permet d'avoir une application paramétrable!
Perso, j'ai plus tendance à faire manipuler les gestionnaires de dépendances aux débutants (composer, npm, maven,...) et à bien leur expliquer le concept MVC avant de les faire manipuler un framework. Pour être passé par du PHP old school, puis par Zend pour atterrir sur Symfony2 et suivants, je sais que ça prend du temps pour ne plus se dire "mais pourquoi ils mettent tous ce merdier pour faire mon application toute bête"...
A ce titre, l'approche Symfony4 où on fournit de base un minimum de composants devrait être plus pratique pour les formations. Il est plus simple de montrer l'apport des composants en les installant un par un plutôt qu'en disant "ne vous préoccupez pas de ça pour l'instant".le 09/12/2017 à 12:15 -
VinorcolaMembre régulier70% de code en moins, c'est pour l'édition de base qui n'embarque plus ni Twig, ni Doctrine, ni Swiftmailer, ni les Form, ni les validator, etc. Donc 70% de code en moins, c'est Symfony Standard Edition VS Flex. Mais pour les applications, il y aura toujours la même quantité de code (à peu près) : pour une application qui a des dépendances, elle seront installée quant même, donc ça ne change pas grand chose au volume de code final.
Ce qui est important ici, c'est que si c'est juste pour faire un serveur API, plus besoin de supprimer Twig puisqu'il n'y est plus par defaut.le 05/12/2017 à 15:02 -
SpartacusplyMembre expertQuand je lis ça et en fait à peu près aussi tout l'ensemble de ton oeuvre sur developpez, je me dis que ça dois être vraiment vachement sympa de passer un cours Symfony avec toi et d'entendre pendant toute sa durée "bon bah je vais vous apprendre un truc parce que bon, j'ai pas trop le choix mais notez bien que c'est tout pourri et qu'il y a bien mieux : le st Graal couple Django/Python Allelulia !!"
Venant de la part d'un professeur censé être le plus objectif possible dans sa manière de présenter les choses ça me laisse pour le moins... dubitatif, c'est le mot.le 11/12/2017 à 16:54 -
Eric30Membre actifJe savais même pas que CodeIgniter existait encore... La dernière fois que je m'y suis intéressé, début 2013, leur forum avait été piraté par des sites qui vendaient des choses pas vraiment pour tout public...
Etre un "bouzin" ou pas n'est pas un critère de qualité. On prend un framework parce qu'il répond à un besoin, pas à des goûts subjectifs. Personnellement avant j'étais Zend Framework 1 puis 2 (au début), j'ai fais du Silex et d'autres petits trucs, et ben on peut dire ce que l'on veut mais Symfony reste le meilleur framework PHP pour les grosses applications (je parle pas de e-commerce) et a apporté énormément au langage.
De plus si tu avais lu l'article, ils expliquent que l'époque du "bouzin" est révolue ...
Pour moi ta comparaison est foireuse, et elle me fait penser aux gens qui font du e-commerce et qui te comparent Prestashop à Magento 2 en disant "j'aime pas Magento, c'est trop gros/compliqué". Chaque fois j'essaie de garder mon calme en leur expliquant que c'est pas la même cible/utilisation.le 04/12/2017 à 16:57 -
ypicotMembre confirméJe donne qques cours base de données / mysql à des BTS, et j'ai une expérience similaire en remplaçant "Symfony" par "PHP". Faire installer une simple pile WAMP à une classe de 35 gugusses est assez problématique, notamment quand ils sont paniqués par un message d'erreur totalement incompréhensible tel que "il manque msvcr110.dll. Veuillez l'installer". Facile à gérer dans un stage avec 4-6 adultes dont on maitrise plus ou moins la config, mais plus délicat dans un cours avec 35 étudiants possédant à peu près autant de configs différentes.
J'ai opté pour une solution similaire à SuferIX : faire installer un linux mint (je n'ose les traumatiser avec une debian) dans une VM.
Et pour l'anecdote, cette solution n'a pas été possible pour un élève qui avait un ultrabook windows avec un SSD de 32Go quasi-plein
+1 !!le 13/12/2017 à 12:57 -
mh-cbonMembre extrêmement actiftrès bonne nouvelle.le 04/12/2017 à 13:31
-
Eric30Membre actifSensioLabs estime également que Symfony est maintenant idéal pour tout type de projet : microservices, API, applications Web monolithiques, applications consoles ou backend pour applications JavaScript.
EDIT: j'ai trouvé ma réponse: https://gonzalo123.com/2017/07/10/si...s-dead-or-not/le 04/12/2017 à 14:05 -
Tartare2240Membre avertiSymfony Flex a tout pour remplacer Silex sans douleur : il est léger, sans grosses dépendances, sans le "full-stack-tout-symfony-avec-42-dépendances-pour-rendre-l'appli-bien-fat-de-base", etc... Ayant utilisé une fois Silex et après en avoir chié pour installer correctement Doctrine avec la console qui s'interface correctement avec le reste... Vive Flex ! \o/le 04/12/2017 à 14:20
-
papajokerExpert confirméTu parles donc de symfony 3 et non de la version 4 que tu as bien sûr testé ? Une grosse berta qui a quand même perdu 70% de poids
Sans doute pour toi, mais justement tu ne précises pas quel type de code tu fais tous les jours, énormément de devs l'utilisent tous les jours. Ta remarque hors contexte ne peut que s’apparenter à un troll.
Il y a de meilleurs sujets ici pour vendre ton framework de cœur sans dénigrer les autres.le 05/12/2017 à 14:22 -
dukoidMembre expertje travaille sur windows et j'ai jamais eu aucun soucis, c'est bizaaaaaarre ! idem à mon boulot .... c'est vraiment bizarre les gens qui cherchent des problèmes là ou il y en a pas pour justifier que c'est mieux ailleurs
pourtant c'est facile d'installer git, composer sur windows mais bon, moi je crois que le problème c'est pas les étudiants , c'est le formateur peut êtrele 08/12/2017 à 19:15