Bonjour!
Il me semble qu'il n'est pas possible dans Symfony 2 d'extraire ( refactoriser) une méthode dans un contrôleur afin de rendre le code plus clair. Comme celà se fait en Java.
Ai je tort?
Merci de vos réponses
Bonjour!
Il me semble qu'il n'est pas possible dans Symfony 2 d'extraire ( refactoriser) une méthode dans un contrôleur afin de rendre le code plus clair. Comme celà se fait en Java.
Ai je tort?
Merci de vos réponses
Bonjour,
je ne vois pas ce qui t'empèche d'organiser tes méthodes action des controlleurs comme tu le veux.
Il faut juste que ces méthodes renvoient un objet Response, libre à toi d'organiser cela dans des méthodes protected du controller ou dans des services.
Il est en effet recommandé d'avoir des contrôleurs légers et contenant le moins de traitements possible, pour qu'en cas de changement fonctionnel les modifications soient localisées dans du code bien isolé.
Sortir du code des actions des contrôleurs oui, mais pour le remettre dans le contrôleur (dans une méthode non publique par exemple) c'est vraiment dommage. La bonne pratique est clairement de créer une classe dédiée au traitement (un repository si on veut récupérer des entités, un service métier si on veut exécuter des règles de gestion, etc.).
Symfony2 est vraiment orienté en ce sens, avec son conteneur d'injection de dépendance très complet et très simple. Tu ne pourras pas trouver un framework PHP plus proche de la philosophie de Java
Salut,
Après factorisation, tu peux facilement réutiliser ton code dans tes contrôleurs par la création de services spécifiques
http://symfony.com/doc/2.0/book/service_container.html
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager