L'architecture de notre code produit en saison 5 peut très bien être réutilisé dans d'autres projets...
Comment faire cela facilement ? 🤔
💡 Le transformer en un framework !!!
Quelle bonne idée 😍 c'est parti 🎉
La structure des répertoires a peut-être un peu changé par rapport à la saison 5.
Ce n'est pas grave, au contraire, cela correspond aux structures MVC les plus utilisées.
Les fichiers .gitkeep
ne servent qu'à versionner les dossiers dans lesquelles ils se trouvent (Git ne versionne que les fichiers, pas les dossiers)
- le seul répertoire accédé par le navigateur est le répertoire
public
- et notre fichier FrontController est
public/index.php
- placer un fichier
.htaccess
danspublic
pour qu'il renvoit toutes les requêtes HTTP vers le fichier FrontController - on ne veut pas que le répertoire
app
soit accessible aux internautes- créer un fichier
.htaccess
dans le dossierapp
- coller ce code dans le fichier créé :
Deny from all
- créer un fichier
- initialiser Composer dans ce projet
- installer AltoRouter via Composer
- on peut en profiter pour installer var-dumper
- ce fichier permet de définir les fichiers que Git doit ignorer
- par exemple notre fichier de configuration spécifique à chaque machine et contenant des infos sensibles
- ou bien le répertoire
vendor
généré et rempli par Composer
- classe "mère" de chaque classe Model
- permet de regrouper méthodes et propriétés utiles pour tous les Models
- coder la classe dans
app/Models
- classe "mère" de chaque classe Controller
- permet de regrouper méthodes et propriétés utiles pour tous les Controllers
- coder la classe dans
app/Controllers
- classe "mère" de chaque classe Controller
- permet de regrouper méthodes et propriétés utiles pour tous les Controllers
- coder la classe dans
app/Controllers
- créer le fichier
- placer les données nécessaires à la connexion à la base de données
- créer la version "dist"
- dans le FrontController
- inclure les classes utiles, dans le bon ordre 😉
- ne pas oublier Composer 😉
- déclare les routes
- dispatch chaque requête HTTP vers la bonne méthode du bon controleur (méthode
run
)
- gérer correctement les 404
- créer et utiliser un Controller
ErrorController
- créer les views permettant d'afficher la page d'accueil et la page 404
- il reste des choses à faire ?
- c'est possible en effet
- on peut toujours améliorer notre code, et dans ce cas, notre framework
- alors faisons-le 🎉