nils-framework / nils-contracts
Interfaces et contrats officiels du framework NILS (ControllerInterface, MiddlewareInterface)
Package info
gitlab.com/nils-framework/composants/nils-contracts
pkg:composer/nils-framework/nils-contracts
Requires
- php: >=8.2
This package is not auto-updated.
Last update: 2026-06-01 20:41:12 UTC
README
Ce package regroupe l'ensemble des interfaces de marquage et des contrats d'extensibilité du framework NILS.
Il constitue la brique de base indispensable et isolée permettant de découpler totalement les modules optionnels (nils-core, nils-auth, nils-roles) et d'éviter les dépendances cycliques.
🛠️ Interfaces Incluses
1. ControllerInterface
Interface de marquage vide utilisée par le moteur d'auto-discovery du routeur pour identifier, charger et instancier automatiquement les contrôleurs de l'application cliente.
use Nils\Contracts\ControllerInterface;
class MonControleur implements ControllerInterface {
// ...
}
2. MiddlewareInterface
Contrat standardisé permettant la création d'intergiciels personnalisés ou modulaires exécutés à la volée lors de l'analyse des attributs de méthodes.
use Nils\Contracts\MiddlewareInterface;
class MonIntergiciel implements MiddlewareInterface {
public function traiter(mixed $requete, mixed $instanceAttribut): void {
// Logique de filtrage ou de sécurité
}
}
📦 Architecture du Dépôt
src/
├── ControllerInterface.php # Contrat de découverte des contrôleurs
└── MiddlewareInterface.php # Contrat d'interception des requêtes
📄 Licence
Ce projet est distribué sous licence MIT. Développé avec passion par Traore.