Les versions de Symfony 3.4 et 4.0 viennent tout juste de sortir et avec elles vient une nouvelle façon de développer des applications Symfony. Dîtes adieu à la Standard Edition et bonjour aux tout nouveaux symfony/skeleton, Symfony Flex et les recettes qui vont avec.

Commençons par l'installation de celui-ci:

sf4_install_cli

 

Contenu du composer.json

Très peu de dépendances: 6 plus exactement.

  • PHP 7: C’est la toute dernière version du langage, elle vient avec des nouveautés comme le nouvel opérateur <=>, le spaceship operator et bien d’autres.
  • ext-iconv: Ce module est une interface vers la bibliothèque iconv. L'extension iconv convertit des fichiers entre divers jeux de caractères.
  • Flex: Un plugin composer qui vous permet de crafter vos applications plus simplement en vous aidant à gérer vos dépendances.
  • Console: La console :-)
  • Framework-bundle, le coeur du framework Symfony
  • lts pour le support des composants Symfony et yaml pour les configurations

 

La structure d’une application Symfony 4

 

symfony 4 struct

C’est une toute nouvelle structure que nous propose Symfony 4, proche de celle de Laravel.

  • un fichier de configuration .env
  • le dossier www/ renommé en public/
  • le dossier config/ est toujours présent mais les fichiers de configurations sont minimales
  • le dossier bin/ contient l’utilitaire console

 

Symfony est léger d’accord! Mais comment je me débrouille pour installer des bundles?

Le but avec Symfony 4 c’ est de garder une structure assez légère afin de réduire la complexité des applications. Votre code devient “Bundleless”, sans besoins de “Bundles”. Vous êtes libres d’organiser votre code dans le dossier ‘src/’. Cela ne veut pas pour autant dire que vous les bundles sont obsolètes. Les “bundles” que vous utilisez habituellement seront disponibles pour mettre en place des fonctionnalités dans votre application, mais juste que vous n’êtes pas obligé d’en créer dans votre application.

Symfony 4 introduit les recipes (recettes), une suite de ligne de commandes à exécuter lors de l’installation des bundles. Deux dépôts regroupent les recettes (recipes) pour installer des paquets tiers: https://github.com/symfony/recipes et https://github.com/symfony/recipes-contrib pour la communauté.

Plus de 150 recettes existent déjà: api-platform, graphql-bundle, etc… L’installation d’un bundle devient plus simple.

 

Webpack Encore, API Platform, etc

Symfony 4 s’est donné les armes necessaires afin de faciliter la création d’applications de tous types: microservices, API, monolithes, etc. Juste un pur bonheur.

Contribuez à la communauté

Pour pouvoir faire adopter cette nouvelle version de Symfony, il faudrait faire migrer les bundles Symfony existants vers la nouvelle version ????, contribuer à la créations des recettes, …

Happy Symfony 4!