MVC : Architecture ?

Eléphant du PHP | 386 Messages

30 janv. 2017, 20:49

Salut !

j'ai réalisé l'architecture à ma façon, pour que je m'y retrouve, étant seul à développer mon application.
Je suis en pleine apprentissage de ce motif, beaucoup de lectuuure et de pratique !

Est-ce que l'architecture que je propose est pratique ou normal pour MVC ?
Je pense qu'on peut architecturer nos app comme on veut, du moment qu'on s'y retrouve.
Pour chaque parties de mon sites, je place les dossiers dans le modèle, la vue et le contrôleur :

/usr correspond à la racine de la partie membre.

/usr/models/blog
/usr/views/blog
/usr/controllers/blog

/usr/models/article
/usr/views/article
/usr/controllers/article

etc...

J'ai aussi un dossier /tools qui n'a pas besoin de contrôleur et de modèle pour fonctionner, il affiche juste des pages sans interactions avec une bdd.
Je le place où ? (Racine de usr ou views) ?

Merci d'avance

Avatar de l’utilisateur
Eléphanteau du PHP | 20 Messages

01 févr. 2017, 01:14

Bonsoir,

En général, il est plus opportun de structurer ainsi

/usr/module1/model
/usr/module1/view
/usr/module1/controller
...
/usr/module2/model
/usr/module2/view
/usr/module2/controller
....
Ainsi tout ce qui concerne un module se trouve dans le même dossier, ce qui est plus facile pour s'y retrouver dans des projets complexes ou lorsque plusieurs personnes travaillent sur le même projet.

++
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8755 Messages

06 févr. 2017, 11:04

salut,

pour le tools à la racine.
il faut penser en "package". suivant la taille du projet tu emplois soit
- ta façon de faire pour un petit projet c'est plus simple de chercher un modèle dans la package model.
- La solution de jc71 sur des projet un peu plus gros (c'est loin d'être simple de trouver un fichier parmi 500 :-) )

Dans tous les cas il faut que l’architecture soit relativement simple et qu'elle te convienne (faire du standard va permettre à d'autre dev de s'y retouvrer simplement).
Dans le même style il est préférable d'avoir au moins un "répertoire vendeur" (un package de base") => /usr/nico44530/models, /usr/nico44530/views etc.
D'ailleurs cela ne semble pas opportun de coller ton code dans /usr, c'est plutôt /www ou /home/"user"/www ou des chose dans ce goût la (histoire de pas foutre le brin dans le reste :)


@+
Il en faut peu pour être heureux ......