Je n'ai pas compris vraiment vos explications ni la doc de PHP sur ces histoires d'autoload. 
J'envisage une arborescence de ce type pour tout ce qui est commun au site :
/
|--Application
|--Controller
|--Model
|--View
|--Public
|--css
|--images
|--js
|--.htaccess
|--index.php
Ensuite, sous Application, j'envisage ceci :
|--Application
|--Module1
|--Controller
|--Model
|--View
|--Module2
...
Dans le .htaccess, j'ai une réécriture d'URL qui va transformer monsite/fr/module1/action1/parametres-optionnels en index.php?langue=fr&module=module1&action=action1¶ms=parametres-optionnels et c'est cette URL qui doit être traitée par mon routeur pour appeler le bon contrôleur :
- Par défaut le controller du module Accueil si appel du site à sa racine ;
- Ou le contrôleur du module appelé par l'url qui va lui même déclencher l'action demandée avec les paramètres éventuels.
J'ai commencé mon projet avec une méthode qui fonctionne mais qui est encore trop procédurale à mon goût, même si j'avais quand même déjà notamment des classes modèles pour les relations avec la BDD.
Comme je ne suis pas encore trop avancé, je veux essayer de faire ça bien tout en objet, sauf bien sûr la partie index.php qui doit lancer la suite.
Il y a quelques années, j'avais fait une application avec Zend Framework 1 mais j'ai voulu récemment essayer Zend Framework 3 et je l'ai trouvé beaucoup plus compliqué pour mon vieux cerveau.
D'ailleurs, j'ai essayé le tuto et ça n'a pas fonctionné. 
C'est pour ça que j'ai cherché un autre tutoriel MVC POO.
Donc tout ça pour dire que je n'ai pas bien compris où je dois mettre cet autoloader. Est-ce que ça doit être la première classe appelée par index.php ou est-ce une fonction dans index.php (donc un bout de procédural) ? Je pensais que c'était justement le boulot du routeur de s'occuper de ça : trouver la bonne classe à instancier et la bonne action à exécuter.
Considérez-moi comme un noob en la matière et expliquez-moi ça par A+B SVP.
Partager