La magie de Symfony ou comment s’y perdre ;)

Dans Symfony 2.8, le nouveau service « auto wiring » (comprenez branchement automatique) va permettre à Symfony d’être encore plus magique qu’il ne l’est déjà ! Mais je ne sais pas si c’est vraiment une bonne idée.

D’après la news : Symfony 2.8: Service Auto Wiring, on aura la possibilité de déclarer un service en omettant les paramètres passé au constructeur. La magie opérera : un service privé sera créé pour la classe omise et il sera injecté directement dans le constructeur du service déclaré.

Exemple avec un service Mailer qui a besoin d’un Logger pour fonctionner.

Déclaration classique :

services:
    logger:
        class: AppBundle\Service\Logger

    mailer:
        class: AppBundle\Service\Mailer
        arguments: ['@logger']

Déclaration magique :

services:
    mailer:
        class: AppBundle\Service\Mailer
        autowire: true

La c’est trop magique à mon goût et je ne sais pas si les performances seront impactées.

En tout cas, c’est déjà bien que cette fonctionnalité soit désactivée par défaut ;)

Ce contenu a été publié dans News, avec comme mot(s)-clé(s) . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *