Slt !
Je suis en train de remettre à plat ce qui me sert de base pour pour le développement d'applications web et j'aimerai bien avoir votre retour d'expérience sur votre façon d'organiser vos dossiers et vos fichiers.
A l'époque, j'avais suivi une des structures les plus courantes qui ressemble à ça :
Avec le temps, j'ai fait des progrès
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 | app | | | | Controllers | | | ActuController.php | | | PostController.php | | | UserController.php | | | | Models | | | ActuModel.php | | | PostModel.php | | | UserModel.php | | | | views | | actu.php | | post.php | | User.php | | http | | | | css | | | | img | | | | js | | | | index.php | | config.phpj'ai commencé à utiliser les Interfaces et les Traits ont fait leur apparition. Comme en plus les projets prennent de l'ampleur, je réfléchis à modifier la structure de mes projets en pensant "module", un peu comme un plugin en fait.
Si je reprends l'exemple au dessus ça donne ça dans le dossier "app" :
Seulement voilà, je suis un peu emmerdé maintenant avec les classes que je souhaite partager. Admettons que Post soit un Trait ou qu'il soit le contrôleur parent de Actu et User, qui sont 2 entités différentes, il était plus facile de charger Post avec l'ancienne structure, puisqu'un autoload savait d'office où aller chercher le contrôleur. Avec la nouvelle structure je devrai inclure les fichiers "manuellement" depuis le contrôleur de le requête. Bon, je dois pouvoir créer un autoload capable de charger les fichiers à inclure, mais avant de valider ma nouvelle structure j'aimerais bien avoir des avis. J'ai pensé aussi à mettre toutes les classes qui ne sont pas des entités dans un dossier commun que je pourrais appeler "shared" ou "class" par exemple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 | Actu | | ActuController.php | | ActuModel.php | | actu.php | | Traits | | ReuseCodeTrait.php | | Post | | PostController.php | | PostModel.php | | post.php | | User | | UserController.php | | UserModel.php | | user.php
Je discuterais bien de tout ça avec plaisir à la machine à café, mais je suis freelance et je bosse chez moi...![]()
Partager