Chargement automatique
Charger des fichiers PSR-0 via Composer
webman suit la spécification de chargement automatique PSR-4. Si ton projet doit charger des bibliothèques conformes PSR-0, suivi les étapes ci-dessous :
- Crée un répertoire
extendpour stocker les bibliothèques PSR-0 - Modifie
composer.jsonet ajoute le contenu suivant dansautoload:
"psr-0" : {
"": "extend/"
}
Le résultat final ressemble à ceci :

- Exécute
composer dumpautoload - Exécute
php start.php restartpour redémarrer webman (remarque : le redémarrage est indispensable pour appliquer les changements)
Charger certains fichiers via Composer
-
Modifie
composer.jsonet ajoute sousautoload.filesles fichiers à charger :"files": [ "./support/helpers.php", "./app/helpers.php" ] -
Exécute
composer dumpautoload -
Exécute
php start.php restartpour redémarrer webman (remarque : le redémarrage est indispensable pour appliquer les changements)
Remarque
Les fichiers configurés dansautoload.filesde composer.json sont chargés avant le démarrage de webman. Les fichiers chargés viaconfig/autoload.phpdu framework sont chargés après le démarrage de webman.
Pour les fichiers dansautoload.filesde composer.json, tout changement exige un redémarrage (restart) pour prendre effet ; reload ne suffit pas. Les fichiers chargés viaconfig/autoload.phpdu framework supportent le hot-reload ; un simple reload suffit pour appliquer les changements.
Charger certains fichiers via le framework
Certains fichiers peuvent ne pas respecter la spécification PSR et ne peuvent pas être chargés automatiquement. Tu peux les charger en configurant config/autoload.php, par exemple :
return [
'files' => [
base_path() . '/app/functions.php',
base_path() . '/support/Request.php',
base_path() . '/support/Response.php',
]
];
Remarque
Dansautoload.php, le chargement desupport/Request.phpetsupport/Response.phpest configuré car des fichiers du même nom existent dansvendor/workerman/webman-framework/src/support/. En passant parautoload.php, les versions à la racine du projet sont chargées en priorité, ce qui permet de personnaliser ces fichiers sans modifier ceux du dossiervendor. Si tu n’as pas besoin de les personnaliser, tu peux ignorer ces deux entrées.