Search by

yussuf / php-core

yussuf9900

Framework MVC modulaire et léger en PHP POO

Package info

github.com/yussuf9900/php-core

pkg:composer/yussuf/php-core

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-08-27 08:51 UTC

This package is auto-updated.

Last update: 2026-08-27 09:01:38 UTC


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éthode renderView($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éthodes get(), post(), addRoute() et redirection().
  • 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