Skip to content

MaximeConan/oFramework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oFramework 😍

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 🎉

Etapes

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)

#1 FrontController 🔫

  • 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 dans public 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 dossier app
    • coller ce code dans le fichier créé : Deny from all

#2 Composer & AltoRouter 🎹

  • initialiser Composer dans ce projet
  • installer AltoRouter via Composer
  • on peut en profiter pour installer var-dumper

#3 .gitignore 🙈

  • 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

#4 CoreModel 👯

  • 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

#5 CoreController 👵

  • 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

#6 DBData 💾

  • 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

#7 Fichier de config 🙇

  • créer le fichier
  • placer les données nécessaires à la connexion à la base de données
  • créer la version "dist"

#8 Inclure les classes 📢

  • dans le FrontController
  • inclure les classes utiles, dans le bon ordre 😉
  • ne pas oublier Composer 😉

#9 Classe Application

  • déclare les routes
  • dispatch chaque requête HTTP vers la bonne méthode du bon controleur (méthode run)

#10 404

  • gérer correctement les 404
  • créer et utiliser un Controller ErrorController

#11 Views

  • créer les views permettant d'afficher la page d'accueil et la page 404

#12 🤔

  • 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 🎉

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published