How hadeli/mvc-explication works
This is a French teaching project that guides learners from three procedural PHP pages toward an MVC application, while preserving the same registration, login, authenticated-home, and logout behavior. The sampled executable code is only the classic first stage: its pages directly manage validation, SQLite access, sessions, and HTML. Later stages are documented learning milestones rather than implemented modules in this tree, so their documented capabilities are shown as curriculum progression, not as verified runtime calls.
Main entry points: index.php Home page · login.php Login page · register.php Registration page · README.md Environment config
Components 19
Classic application
- Home page
index.php - Login page
login.php - Registration page
register.php
Application state
- SQLite users
- PHP session
MVC progression
- Shared includes
etapes/02-includes/README.md - Environment config
etapes/03-env/README.md - Views
etapes/04-vues/README.md - User model
etapes/05-modele/README.md - Autoloading
etapes/06-autoloader/README.md - Front controller
etapes/07-front-controller/README.md - Controllers
etapes/08-controleurs/README.md - Request response
etapes/09-requete-reponse/README.md - Reusable core
etapes/10-noyau/README.md - View components
etapes/11-composants/README.md
Bonus concepts
- Interfaces traits
etapes/12-interfaces/README.md - Standalone router
etapes/13-routeur-autonome/README.md - Core cache
etapes/14-cache-noyau/README.md
Other components
- Visitor
Connections 23
- Visitor → Home page: requests
- Visitor → Login page: requests
- Visitor → Registration page: requests
- Home page → PHP session: reads
- Home page → PHP session: destroys on logout
- Home page → Login page: links to
- Home page → Registration page: links to
- Login page → PHP session: reads and writes
- Login page → SQLite users: queries users
- Registration page → SQLite users: checks and inserts
- Registration page → Login page: links after signup
- Shared includes → Environment config: advances to
- Environment config → Views: advances to
- Views → User model: advances to
- User model → Autoloading: advances to
- Autoloading → Front controller: advances to
- Front controller → Controllers: advances to
- Controllers → Request response: advances to
- Request response → Reusable core: advances to
- Reusable core → View components: advances to
- View components → Interfaces traits: bonus stage
- Interfaces traits → Standalone router: bonus stage
- Standalone router → Core cache: bonus stage