Blog

Symfony4 les nouveautés

Par Alexandre, le 23/04/2019 à 16h11 dans PHP

Le framework PHP Symfony a bien évolué depuis sa version 4.0. Et l'expérience de développement a été beaucoup améliorée. Parmi les changements majeurs de cette version 4, on peut noter le lancement de l'application en local sur un serveur avec un port bien spécifique : le port 8000. De plus, l'architecture du framework est plus simple et intuitive.
Symfony4 propose deux versions du framework au téléchargement: une version Skeleton minimaliste avec seulement les composants essentiels pour faire tourner le framework. On peut ensuite ajouter via Composer les bundles que l'on a besoin au fur et à mesure de l'évolution de son projet. Cette version Skeleton s'apparente plus à un micro-framework tel que Silex ou Slim. La deuxième version du framework proposée est la version Website-skeleton qui contient déja tous les composants nécessaires à la création d'un gros site. Elle contient déja le systême d'envoi d'email Swiftmailer, les sessions, l'ORM Doctrine, le moteur de template Twig et le composant Security pour la gestion des utilisateurs.
On peut noter également le nouveau systême de migrations qui permet de créer un fichier de migration avec toutes les instructions nécessaires pour enregistrer les changements en base de données.
De plus le composant Maker permet de créer plus facilement une entité, des relations, un formulaire, un contrôleur...
On peut également parler de Encore qui est un bundler (surcouche de Webpack) et qui permet de gérer facilement les assets (js et css) en les compilant. Avec Encore on peut par exemple activer la compilation du SASS en CSS en ayant au préalable télécharger les modules sass-loader et node-sass via NPM. Mais on peut aussi utiliser des frameworks front comme React ou Vue en les activant dans Encore.
De plus, une nouveauté importante est l'autowiring de services. C'est l'injection de dépendances de services directement dans les actions. Il suffit de les initialiser dans le constructeur et on peut disposer du service directement dans la fonction que l'on souhaite. Ou alors on peut type-hinter directement les fonctions avec le service souhaité. On est plus obligé de faire appel au container de services comme avant.
Le composant Security est dorénavant conseillé pour gérer les utilisateurs à la place de FOSUserBundle. Il est plus simple à utiliser et il est plus facile d'overrider les formulaires.
On peut également parler d'autres bundles tiers qui ont vu le jour récemment, très utiles pour le développement de gros sites comme VichUploaderBundle pour le multi-upload d'images, Google Recaptcha V3 pour protéger son site contre les robots, EasyAdminBundle pour créer facilement une administration ou encore APIplatform pour créer facilement une API REST (à utiliser avec un frawework front comme React ou Vue par exemple) et JWTAuthBundle pour sécuriser son API.
Voilà, j'espère que toutes ces nouveautés vous auront convaincu et vous donneront envie d'utiliser Symfony4 pour vos projets.


Réseaux sociaux
twitter linkedin github

AlexandreHouriez.fr © 2019