Documentation

Documentation NiangPro

NiangPro est un micro-framework PHP : routeur, injection de dépendances, ORM minimal, validation, authentification, tests — sans dépendance d'implémentation à l'exécution (seulement les interfaces PSR-11/PSR-3/PSR-7/PSR-15, pour l'interopérabilité). Cette documentation elle-même est un projet NiangPro ordinaire : rien ici n'est un moteur de rendu externe.

Cette documentation est en construction : trois sections sont écrites et vérifiées contre le code source (voir le sommaire à gauche). Les autres sections y apparaissent déjà, marquées « bientôt », pour montrer le plan complet.

Pourquoi NiangPro ?

Le composer.json du framework le résume ainsi : « un micro-framework PHP ultra simple, plus simple que Laravel : routeur, DI, ORM minimal, auth, tests, sans dépendance d'implémentation à l'exécution ». Chaque nouveau projet est une copie complète du framework (pas un paquet Composer requis en dépendance) : src/ et app/ voyagent ensemble, et il n'y a rien à publier sur Packagist pour que votre code tourne.

Commencer

bash
composer create-project niangpro/niangpro mon-app
cd mon-app
./bin/niang serve

Voir Démarrage pour le détail de chaque étape.

Le raccourci np

Pour taper np serve au lieu de ./bin/niang serve, installez une fois le raccourci global. Il fonctionne sur macOS, Linux et Windows :

bash
# macOS / Linux
./bin/niang np:install

# Windows (cmd ou PowerShell)
php bin/niang np:install

La commande dépose un petit script np (sur Windows, np.cmd) dans un dossier de votre PATH. Ce script remonte les dossiers depuis l'endroit où vous êtes jusqu'à trouver bin/niang : np marche donc dans tous vos projets NiangPro, même depuis un sous-dossier, sans rien reconfigurer.

bash
np serve
np make:controller PostController
np migrate

Si aucun dossier de votre PATH n'est accessible en écriture, np est installé dans ~/.local/bin (Windows : %LOCALAPPDATA%\NiangPro\bin) et la commande affiche la ligne exacte à exécuter une fois pour ajouter ce dossier au PATH. Ouvrez ensuite un nouveau terminal.

⏱ 7.35 ms 🗄 0 requête(s) SQL 🧠 4.00 MB ↩ 200