Bonjour
je travaille sur un projet laravel cote front et backoffice et j aimerai savoir est ce qu il y a meuilleur procedure de :
Controller/admin/
Posts.php
Members.php
Controller/front/
Posts.php
Users.php
Controller/lib/
Front.php
Back.php
Controller/main/Core.php
Je veux que les contrôleurs qui existent dans le dossier controller/admin héritent du contrôleur Back.php et que les autres de contrôleur/front héritent du contrôleur front.php afin de faire des traitements séparés dans les constructeurs Back.php et front.php comme l'initialisation des variables, l'appel des données, log des actions ...
et les deux contrôleurs "Back.php, front.php" héritent également d'un contrôleur Controller/main/Core.php qui me servira de faire des traitements communs de deux parties "back/front". et Core.php hérite du contrôleur principal de laravel.
ma question est de savoir s'il existe une meilleure pratique pour cette logique.
Bonjour.
En ce qui concerne les controllers des dossiers admin et front je les comprends, mais en quoi consistent ceux du dossier lib ?
Sinon, je te conseille de nommer les dossiers concernant les namespaces en CamelCase, soit par exemple Admin au lieu de admin.
Pour ce qui est de la structure, je verrai plutôt quelque chose comme ceci:
Hello,
Je comprends ta stratégie, mais je pense qu'elle est mauvaise. Pourquoi l'est-elle tu me diras ? Eh bien c'est simple, tu es en train de séparer des contrôleurs basés sur des droits d'utilisateurs. Je ne connais pas le contexte de ton application, genre web, api, mais pour moi ce que tu fais est une mauvaise pratique.
Au lieu de détacher le frontend, de l'admin, tu devrais faire des domaines d'application. Dont un domaine "admin" si vraiment le contrôleur d'admin fait des choses différentes.
Exemple :
Si tu n'as pas à gérer des actions vraiment différentes, tu peux très bien créer des actions dans le même contrôleur, avec une route différente, et y foutre une policy ou une gate, qui permettra de bloquer l'utilisateur s'il n'est pas admin de ton application.
si j ai bien compris les controlleurs dans les domaines Admin, Blog et Community vont heriter d un controlleur dans dossier Core .
et qui pense tuc de mettre en place 2 middleware pour Backoffice et Frontoffice pour faire les traitements