Bonsoir,
je me forme depuis peu à l'architecture MVC.
Les pages de l'application sont incluses dans index.php :
dans index.php :
Par contre, si on utilise un autre script PHP, ce n'est pas le cas.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 // Inclusion de la page include_once 'models/'.$page.'_model.php'; include_once 'controllers/'.$page.'_controller.php'; include_once 'views/'.$page.'_view.php';
Voici une partie de mon arborescence (tout ce qui commence par - est un répertoire) :
Le répertoire _scripts contient les scripts PHP qui ne sont pas dans un des 3 premiers répertoires. Tous ceux qui sont dans un des 3 premiers répertoires sont inclus dans index.php, donc ils profitent des initialisations faites dans index.php (session_start, définition des constantes, connexion à la bdd, etc.) mais ce n'est pas le cas des scripts appartenant à _scripts. Donc à priori, il faut refaire dans chacun d'eux ces inits. Evidemment elles sont faites dans des fichiers séparés qu'il n'y a qu'à inclure. Mais ça fait beaucoup d'includes à faire à chaque fois.index.php
- controllers
- models
- views
- _scripts
- etc
Donc existe-t-il une meilleure méthode ? J'ai une idée et je souhaiterais votre avis : je crée une classe "scripts" et chaque script en est une méthode statique (donc pas besoin de créer un objet pour utiliser la méthode). De plus la classe est incluse par l'autoloader, donc pas besoin de l'inclure.
L'exemple auquel je suis confronté : je dois créer un script qui est l'action d'un formulaire ; je le mets dans une telle classe ou dans le répertoire controller ?
Partager