Symfony 4

 

Quelles nouveautés avec Symfony 4 ? 

 

Introduction

Il y a deux ans, Fabien Potencier nous expliquait le nouveau fonctionnement de la roadmap symfony avec l'arrivée d'une version majeure de Symfony tous les 2 ans et 4 versions intermédiaires.

Symfony 4 est ainsi prévu pour Novembre 2017.

A chaque version majeure, de nouvelles fonctionnalités arrivent et tout le code déprécié est supprimé. Mais pour cette version 4, il n'y aura pas seulement la suppression des fonctionnalités dépréciées mais également l'introduction d'une nouvelle manière de développer des applications.

Dans sa keynote, Fabien nous a rappelé le côté pénible de l'installation et de la configuration d'un bundle :

  • Exécuter la commande `composer require bundle/namespace`
  • Ajouter dans la class `AppKernel`
  • Enregistrer des routes
  • Configurer le bundle

Et rebelotte pour la désinstallation d'un bundle.

 

Les changements dans la structure

Arrive également une nouvelle structure de dossier :

  • Dans le dossier src, il suffira d'utiliser le namespace `App\` et voici symfony4 en mode bundle-less.
  • La configuration se trouvera dans le dossier `etc/` en lieu et place de `app/config` mais fonctionnera bien différemment. Plus de fichier `parameters.yml` !
    A la place, l'utilisation des variables d'environnement.
  • Les templates arrivent dans un dossier `templates/`
  • Dans le dossier `web/` il n'y aura plus qu'un front Controller. Plus de fichier `config.php` ou `favico.ico` car tous les projets n'en ont pas besoin.

Mais l'important est qu'aucun de ces dossiers ne sera obligatoire.

 

Nouveau fonctionnement

L'idée est simple : en tant que développeur, on veut démarrer une application petite sans trop de dépendances puis la faire grandir au fur et à mesure des besoins. C'est là qu'arrive Symfony Flex, une nouvelle façon de simplifier la création et l'évolution de votre application.

Symfony Flex permettra de gérer, de la plus simple à la plus complexe des applications, tout en automatisant l'installation, la suppression et la configuration avec les bonnes valeurs par défaut en fonction de votre projet.

Ce sera également la manière par défaut de gérer les applications Symfony4 et en option pour les applications Symfony3.3 et 3.4 en alpha.

Aujourd'hui pour démarrer un projet, la plupart du temps on prend un Symfony Standard Edition et puis c'est parti.

Cette distribution possède une dépendance à symfony/symfony qui est un meta dépôt qui nécessite tous les composants Symfony !

Pour démarrer avec  SF4, le minimum vital est là : symfony/skeleton. Plus que 3 dépendances !

Symfony Flex s'appuiera sur un plugin composer qui permettra d'installer et de configurer les bundles via des "scripts d'installation", 1 fichier de configuration par bundle et une activation automatique dans le Kernel.

Enfin, Symfony Flex permettra d'installer des bundles de qualité suggérés par Sensiolabs via l'utilisation d'alias de dépendances.

Par exemple, vous souhaitez installer un admin generator sur votre site mais ne savez pas lequel installer ? Et bien avec Symfony Flex, il vous suffira d'exécuter la commande suivante :

`composer require admin`

Qui ira installer par exemple le bundle EasyAdmin.

 

Sortie de Symfony 3.3 : Mai 2017
Sortie de Symfony 3.4 et 4 : Novembre 2017

Articles de Fabien sur Symfony 4 et Symfony Flex

Bastien D

Ajouter un commentaire