Download the PHP package mrsems/router-php without Composer
On this page you can find all versions of the php package mrsems/router-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package router-php
Router-PHP
Un routeur PHP simple, léger et réutilisable pour vos applications web.
Il fonctionne avec deux types de projets :
- Projet PHP procédural MVC : routes vers des fonctions contrôleurs.
- Projet PHP orienté objet : routes vers des classes contrôleurs.
Installation
Cette commande installe automatiquement la dernière version stable compatible.
Vous pouvez aussi cibler la version 1.3 :
Sur Packagist, dev-main correspond à la branche de développement. Pour un projet normal, utilisez une version stable.
Fichiers utilisés
Le routeur utilise généralement ces fichiers :
index.php: point d'entrée de votre application.routes.php: liste des routes de votre application.middlewares.php: liste des middlewares, optionnel.vendor/autoload.php: fichier généré par Composer.
La ligne suivante charge Composer :
Elle permet à PHP de trouver automatiquement le routeur installé dans le dossier vendor/.
Projet procédural MVC
Utilisez ce mode si votre projet PHP est organisé en MVC, mais sans classes.
Dans ce style :
controllers/contient les fonctions qui traitent les routes.models/contient les fonctions liées aux données.views/contient l'affichage HTML.routes.phprelie une URL à une fonction contrôleur.
Étape 1 : créer index.php
Le fichier middlewares.php est optionnel. Si le fichier n'existe pas, le routeur continue avec un tableau vide.
Étape 2 : créer les contrôleurs procéduraux
Un contrôleur procédural est un fichier qui contient des fonctions.
Exemple de fichier controllers/PageController.php :
Exemple de fichier controllers/ClientController.php :
Ici, la fonction contrôleur prépare les données, puis charge la vue.
Étape 3 : créer le modèle
Un modèle procédural contient les fonctions liées aux données.
Exemple de fichier models/ClientModel.php :
Étape 4 : créer routes.php
Mettez ici les routes de votre application.
function contient le nom de la fonction contrôleur à appeler.
La clé handler reste acceptée pour compatibilité, mais function est plus simple pour un projet procédural.
La clé middlewares est optionnelle. Ajoutez-la seulement si la route doit passer par un middleware.
Pour une route simple en GET, vous pouvez aussi écrire directement le nom de la fonction :
Étape 5 : créer les vues
Exemple de fichier views/accueil.php :
Exemple de fichier views/client.php :
Étape 6 : créer middlewares.php si nécessaire
Ce fichier est optionnel.
Créez-le seulement si vous utilisez des middlewares dans vos routes.
Ici, auth est le nom utilisé dans routes.php, et verifierAuth est la fonction appelée.
Structure possible :
Variante : route directe vers un fichier PHP
Cette variante existe, mais pour garder une structure MVC propre, préférez les fonctions contrôleurs.
Projet orienté objet
Utilisez ce mode si votre projet PHP fonctionne avec des classes contrôleurs.
Étape 1 : configurer l'autoload de votre projet
Dans le composer.json de votre projet, ajoutez l'autoload de vos classes :
Puis lancez :
Cette étape permet à PHP de trouver vos contrôleurs, par exemple App\Controllers\UserController.
Étape 2 : créer index.php
Le fichier middlewares.php est optionnel.
Étape 3 : créer routes.php
controller contient la classe à utiliser.
method contient la méthode à appeler dans le contrôleur.
La clé middlewares est optionnelle.
Étape 4 : créer le contrôleur
Exemple de fichier App/Controllers/UserController.php :
Étape 5 : créer middlewares.php si nécessaire
Ce fichier est optionnel.
Étape 6 : créer le middleware si nécessaire
Exemple de fichier App/Middlewares/AuthMiddleware.php :
Structure possible :
Injection de dépendances
Le routeur peut instancier automatiquement les dépendances des contrôleurs.
Exemple :
Si un constructeur attend une interface, définissez le mapping avant Router::resolve().
Récapitulatif des routes
Route vers une fonction :
Route simple vers une fonction :
Route vers un fichier :
Route vers un contrôleur :
Route avec middleware :
Fonctionnalités
- Support des méthodes HTTP :
GET,POST,PUT,DELETE, etc. - Routes avec paramètres :
client/{id}. - Middlewares optionnels par route.
- Support des fonctions procédurales.
- Support des fichiers PHP procéduraux.
- Support des contrôleurs orientés objet.
- Injection automatique de dépendances pour les contrôleurs.
- Mapping interface vers classe concrète.