PHPackages                             wesh/core - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. wesh/core

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

wesh/core
=========

1.0.0(9mo ago)02PHP

Since Jul 23Pushed 9mo agoCompare

[ Source](https://github.com/Kuronohangyakusha/fff)[ Packagist](https://packagist.org/packages/wesh/core)[ RSS](/packages/wesh-core/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Framework PHP MVC Léger
=======================

[](#framework-php-mvc-léger)

Un framework PHP moderne et léger suivant le pattern MVC avec injection de dépendances, gestion des sessions, validation des données et bien plus.

Fonctionnalités
---------------

[](#fonctionnalités)

- **Architecture MVC** : Organisation claire du code avec séparation des responsabilités
- **Injection de dépendances** : Container IoC avec configuration YAML
- **Routing système** : Routage simple et efficace avec support des middlewares
- **Base de données** : Couche d'abstraction PDO avec pattern Singleton
- **Validation** : Système de validation robuste avec règles personnalisables
- **Gestion d'images** : Upload et gestion d'images avec génération d'URLs
- **Sessions** : Wrapper simplifié pour la gestion des sessions PHP
- **Middlewares** : Support des middlewares pour l'authentification et autres traitements
- **Pattern Repository** : Abstraction de la couche de données

Installation
------------

[](#installation)

### Via Composer

[](#via-composer)

```
composer install votre-vendor/votre-framework
```

### Installation manuelle

[](#installation-manuelle)

1. Clonez le repository

```
git clone https://github.com/votre-username/votre-framework.git
```

2. Installez les dépendances

```
composer install
```

3. Configurez votre environnement (voir Configuration)

⚙️ Configuration
----------------

[](#️-configuration)

### 1. Configuration de la base de données

[](#1-configuration-de-la-base-de-données)

Créez vos constantes de base de données dans votre fichier de configuration :

```
// config/database.php
define('DSN', 'mysql:host=localhost;dbname=votre_db');
define('DB_USER', 'votre_username');
define('DB_PASSWORD', 'votre_password');
```

### 2. Configuration des services (services.yml)

[](#2-configuration-des-services-servicesyml)

Créez un fichier `config/services.yml` pour définir vos dépendances :

```
# config/services.yml
core:
  database: App\Core\Database
  session: App\Core\Session
  validator: App\Core\Validator
  imageService: App\Core\ImageService

repositories:
  userRepository: App\Repository\UserRepository
  productRepository: App\Repository\ProductRepository

controllers:
  userController: App\Controller\UserController
  productController: App\Controller\ProductController
```

### 3. Configuration des constantes

[](#3-configuration-des-constantes)

```
// config/constants.php
define('APP_URL', 'http://localhost:8000');
define('IMG_DIR', '/public/images/uploads/');
```

🏗️ Structure du projet
----------------------

[](#️-structure-du-projet)

```
project/
├── app/
│   ├── config/
│   │   ├── services.yml
│   │   ├── middlewares.php
│   │   └── routes.php
│   ├── src/
│   │   ├── Core/
│   │   │   ├── App.php
│   │   │   ├── Database.php
│   │   │   ├── Router.php
│   │   │   ├── Session.php
│   │   │   ├── Validator.php
│   │   │   └── ImageService.php
│   │   ├── Abstract/
│   │   │   ├── AbstractController.php
│   │   │   ├── AbstractEntity.php
│   │   │   └── AbstractRepository.php
│   │   ├── Controller/
│   │   ├── Entity/
│   │   ├── Repository/
│   │   └── Middlewares/
│   └── templates/
├── public/
│   ├── index.php
│   └── images/uploads/
└── composer.json

```

Utilisation
-----------

[](#utilisation)

### 1. Initialisation de l'application

[](#1-initialisation-de-lapplication)

```
// public/index.php
