yussuf / php-core
Framework MVC modulaire et léger en PHP POO
v1.0.0
2026-08-27 08:51 UTC
Requires
- php: >=8.1
- ext-pdo: *
- ext-session: *
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Un framework MVC léger et indépendant en PHP 8.1+ POO.
Installation
composer require yussuf/php-core
Composants inclus
Yussuf\Core\Controller: Contrôleur de base avec méthoderenderView($view, $data)et gestion dynamique du dossier de vues (setViewsBasePath).Yussuf\Core\Database: Singleton PDO configurable (Database::configure()) avec support PostgreSQL / MySQL et variables d'environnement.Yussuf\Core\Router: Moteur de routage HTTP dynamique supportant les méthodesget(),post(),addRoute()etredirection().Yussuf\Core\Request: Abstraction de la requête HTTP (GET, POST, FILES, SERVER) avec gestion sécurisée des uploads (file($key)).Yussuf\Core\Http\UploadedFile: Objet métier pour la manipulation et la validation de fichiers uploadés.Yussuf\Core\SessionManager: Gestionnaire de session découplé avec helpers (isConnected,currentUser,getUser,saveData,getData,destroy).Yussuf\Core\Debug: Helper d'inspection POO (Debug::dd($data)).
Exemple d'utilisation
Point d'entrée (public/index.php)
<?php use Yussuf\Core\Router; use Yussuf\Core\Database; define("BASEPATH", dirname(__DIR__)); require_once BASEPATH . '/vendor/autoload.php'; // Configuration de la base de données (optionnel si configuré par défaut ou via .env) Database::configure([ 'driver' => 'pgsql', 'host' => 'localhost', 'port' => '5433', 'dbname' => 'ma_base', 'user' => 'mon_user', 'password' => 'mon_mdp' ]); $router = new Router(); $router->get('/', 'App\Controller\HomeController', 'index'); $router->get('/login', 'App\Controller\AuthController', 'login'); $router->post('/login', 'App\Controller\AuthController', 'login'); $router->redirection();
Licence
MIT