Bonsoir,


je me forme depuis peu à l'architecture MVC.
Les pages de l'application sont incluses dans index.php :

dans index.php :
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';
Par contre, si on utilise un autre script PHP, ce n'est pas le cas.
Voici une partie de mon arborescence (tout ce qui commence par - est un répertoire) :
index.php
- controllers
- models
- views
- _scripts
- etc
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.
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 ?