Download the PHP package zaff/challenge2 without Composer
On this page you can find all versions of the php package zaff/challenge2. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package challenge2
Mini-Framework PHP MVC Challenge2
Un mini-framework PHP léger implémentant le pattern MVC avec support multi-base de données, système de routage, middlewares et gestion de sessions.
🚀 Installation
📋 Prérequis
- PHP 8.0+
- Composer
- Base de données (MySQL, PostgreSQL ou SQLite)
🏗️ Structure du Projet
⚙️ Configuration
1. Variables d'environnement
Créez un fichier .env à la racine du projet :
2. Autoloading PSR-4
Le framework utilise l'autoloading PSR-4 configuré dans composer.json :
🛣️ Système de Routage
Définition des routes
Dans route/route.web.php :
Méthodes disponibles
Router::get($uri, $controller, $action, $middlewares = [])Router::post($uri, $controller, $action, $middlewares = [])
🎮 Contrôleurs
Contrôleur abstrait
Tous les contrôleurs héritent de AbstractController :
Méthodes obligatoires
Chaque contrôleur doit implémenter ces méthodes :
index()- Lister les élémentscreate()- Afficher le formulaire de créationstore()- Traiter la créationshow()- Afficher un élémentedit()- Afficher le formulaire d'éditiondestroy()- Supprimer un élément
Rendu des vues
🗄️ Base de Données
Support multi-base
Le framework supporte trois types de bases de données :
- MySQL :
DB_DRIVER=mysql - PostgreSQL :
DB_DRIVER=pgsql - SQLite :
DB_DRIVER=sqlite
Connexion
Container d'injection de dépendances
📊 Modèles et Repositories
Entité abstraite
Repository abstrait
🔐 Authentification et Middlewares
Middlewares disponibles
auth- Vérifier si l'utilisateur est connectéisVendeur- Vérifier si l'utilisateur est un vendeurisClient- Vérifier si l'utilisateur est un client
Utilisation
Création de middlewares personnalisés
Dans config/core/middleware.php :
🔧 Session
Utilisation
✅ Validation
Utilisation du validateur
🎨 Vues et Layouts
Structure des templates
Layout de base
Le contenu de la vue est injecté dans la variable $contentForLayout :
🛠️ Utilitaires
Fonction de debug
🚀 Démarrage Rapide
-
Installation
-
Configuration
-
Créer un contrôleur
-
Définir les routes
- Lancer le serveur
📝 Notes Importantes
- Le framework utilise le pattern Singleton pour la session et la base de données
- Les middlewares sont exécutés dans l'ordre de déclaration
- Toutes les vues doivent être placées dans le dossier
template/ - Le container
Appcentralise toutes les dépendances du projet - Le système de routage supporte uniquement GET et POST
🤝 Contribution
Pour contribuer au projet :
- Fork le repository
- Créer une branche feature
- Committer vos changements
- Pousser vers la branche
- Créer une Pull Request
👥 Auteur
Moustapha Seck - Développeur principal
Ce mini-framework est conçu pour l'apprentissage et les projets de petite à moyenne envergure. Il implémente les patterns MVC classiques avec une approche moderne.