Trop de controllers - Organisation de code

Par Julien Brault, il y a 8 ans


Bonjour,

Dans mon application, je suis rendu à un point ou je commence à avoir beaucoup trop de controllers, et je me demandais si il n'était pas possible de mieux les organiser, ou les classer dans des dossiers.

Savez-vous si il est possible de créer des dossiers pour y ranger des controllers ? Et si oui, quels sont les "impératifs" à respecter ?

Merci de votre aide

5 réponses

Gromic, il y a 8 ans

Bonjour,

le classement dans un application, est une debat sans fin, car c'est propre à chaque application/dev/team.

Dans mes projets j'essaie de faire un classement par module si application complexe / partie si application simple.
Un cas simple :
scr/Controllers/Backend/NewsController
src/Controllers/Frontend/NewsController

Donne nous une idée de ton projet pour avoir une vue globale.

Julien Brault, il y a 8 ans

Merci de vos réponses.

en fait, j'ai un peu "honte" de vous montrer l'organisation actuelle, car je suis très amateur...

J'ai environ 25 controlleurs differents, et ca va continuer d'augmenter... et je me demande seulement s'il est possible de créer des dossiers, qui regrouperait les controlleurs de theme differents, de la facon suivante :

app/http/controllers/theme1
app/http/controllers/theme2
app/http/controllers/theme3
...

Merci

Kenor, il y a 8 ans

Je ne connais pas Laravel, mais comme il respecte les normes PSR, y a pas de raison que tu ne puisses pas faire de sous dossier, dès lors que tu adaptes les namespaces de chacun et que tu les répercutes comme il faut là où ils étaient utilisés.

Sinon, 25 controllers, pour une grosse application, c'est pas spécialement choquant.

Personnelement, je fais par bundle, pour une question de réutilisation du code, mais j'ai des anciens sites avec environ le même nombre de controller, ça ne me dérange pas plus que ça (de tte, les 3/4 du temps, j'utilise la recherche de mon IDE pour ouvrir les fichiers)

Amilti, il y a 8 ans

Hello,
Oui tu peux regrouper tes controllers dans des sous dossiers, après tu n'as pas vraiment de règles c'est à toi de déterminer la meilleure façon d'organiser tes dossiers en fonction de ton projet .

Un petit lien qui explique comment faire :
https://laravel.com/docs/5.5/routing#route-group-namespaces