Bonjour,

J'ai une question de "déontologie" de développeur :)
Dans un controlleur on a des méthodes qui sont associées à des vues mais a t’ont "le droit" pour alléger le code d'une méthode de la diviser en plusieurs méthodes au sein du même controlleur. Ces méthodes ainsi créées n'auraient pas de vues associées car elles ne serviraient qu'a faire du traitement... Est ce qu'en faisant ça je reste dans la "philosophie" cakePHP ?

3 réponses


Salut,

Je ne vois pas de problème à faire ceci, bien entendu pour moi, ça n'a d’intérêt que si la fonction est appelé par plusieurs autres actions du contrôleur, ou encore en cas de besoin de faire une récursivité (pourquoi pas).
De plus, si plusieurs contrôleurs utilisent cette méthode, là il y a les helpers pour ça.

Pour finir, si tu viens à le faire, n'oublie pas de mettre un underscore devant ta méthode :

public/private/protected function _mafonction(){}

Ceci permet de ne pas appeler directement depuis l'URL la méthode, elle ne sera appelable que en interne.

A+

Mmh je n'ai jamais rencontré ce besoin mais je pense qu'il faut aussi réfléchir pour savoir si ton traitement n'a pas plus sa place dans un model/composant que dans un controller.

siriu
Auteur

En général, j'essaie d'avoir des méthodes qui ne dépassent pas 10 à 15 lignes de codes, et là je viens d'en faire une sur Cake qui me permet de créer un enregistrements, éditer un enregistrement, copier un enregistrement et éventuellement copier un enregistrement et ses dépendances dans une autre table... Cette méthode me permet d'avoir un seul formulaire pour toute ces actions différentes...

Elle fonctionne bien mais ça dépassait les 15 lignes de code, c'est pour ça que je me suis posé cette question...

Étant encore "junior", je souhaitai avoir votre point de vue