hajjvero / you-framework
A custom PHP framework monorepo
Installs: 8
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/hajjvero/you-framework
Requires
- php: >=8.4
- twig/twig: ^3.0
- vlucas/phpdotenv: ^5.6
Requires (Dev)
- symfony/var-dumper: ^8.0
- dev-master
- v1.5.0
- v1.4.0
- v1.3.0
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.1
- v1.0.0
- dev-dev
- dev-doc/you-kernel
- dev-doc/you-config
- dev-doc/you-console
- dev-doc/you-http
- dev-doc/you-route
- dev-refactor/you-kernel
- dev-features/you-config
- dev-chore/you-console
- dev-features/you-kernel
- dev-chore/workflow
- dev-features/you-console
- dev-features/you-route
- dev-fix/controller-resolver
- dev-refactor/you-route
- dev-refactor/you-http-foundation
This package is auto-updated.
Last update: 2025-12-17 11:27:56 UTC
README
Ce projet est un framework PHP organisé en monorepo.
Structure du Monorepo
L'architecture est composée de plusieurs bibliothèques indépendantes situées à la racine du projet. Toutes les dépendances sont gérées globalement par le composer.json racine.
Schéma des Dossiers
/
├── composer.json # Configuration globale et autoloading PSR-4
├── public/ # Dossier public (point d'entrée web)
├── you-cli/ # Composant ligne de commande
├── you-http-foundation/ # Abstraction HTTP (Request, Response)
├── you-kernel/ # Noyau de l'application
├── you-route/ # Système de routage
└── ...
Règles de Nommage
Afin de maintenir la cohérence du projet, merci de respecter les conventions suivantes :
- Dossiers de bibliothèque :
kebab-case(minuscules avec tirets).- Exemple :
you-event-dispatcher
- Exemple :
- Namespaces PHP :
PascalCasecorrespondant au nom du dossier transformé.- Exemple :
you-event-dispatcherdevientYouEventDispatcher
- Exemple :
- Classes :
PascalCase.
Ajouter une Nouvelle Bibliothèque
Pour ajouter un nouveau composant au framework :
-
Créer le dossier à la racine du projet :
mkdir you-nouvelle-lib mkdir you-nouvelle-lib/src
-
Déclarer l'espace de nom dans le fichier
composer.jsonà la racine, sous la sectionautoload.psr-4:"autoload": { "psr-4": { "YouRoute\\": "you-route/src/", "YouHttpFoundation\\": "you-http-foundation/src/", // ... "YouNouvelleLib\\": "you-nouvelle-lib/src/" } }
-
Régénérer l'autoloader pour prendre en compte le nouveau chemin :
composer dump-autoload
-
Développer vos classes dans
you-nouvelle-lib/src/.