nils-framework/nils-contracts

Interfaces et contrats officiels du framework NILS (ControllerInterface, MiddlewareInterface)

Maintainers

Package info

gitlab.com/nils-framework/composants/nils-contracts

Issues

pkg:composer/nils-framework/nils-contracts

Statistics

Installs: 7

Dependents: 1

Suggesters: 0

Stars: 0

v1.0 2026-05-30 15:23 UTC

This package is not auto-updated.

Last update: 2026-06-01 20:41:12 UTC


README

Latest Stable Version License PHP Version

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.