Chargement automatique

Charger des fichiers conformes à la norme PSR-0 avec composer

Webman respecte la norme de chargement automatique PSR-4. Si votre projet nécessite le chargement de bibliothèques conformes à la norme PSR-0, référez-vous aux étapes suivantes.

  • Créez un répertoire extend pour stocker les bibliothèques conformes à la norme PSR-0.
  • Modifiez composer.json en ajoutant le contenu suivant sous autoload.
"psr-0" : {
    "": "extend/"
}

Le résultat final est similaire à

  • Exécutez composer dumpautoload.
  • Exécutez php start.php restart pour redémarrer Webman (remarque : il est nécessaire de redémarrer pour que cela prenne effet).

Charger certains fichiers avec composer

  • Modifiez composer.json pour ajouter les fichiers à charger sous autoload.files.

    "files": [
    "./support/helpers.php",
    "./app/helpers.php"
    ]
  • Exécutez composer dumpautoload.

  • Exécutez php start.php restart pour redémarrer Webman (remarque : il est nécessaire de redémarrer pour que cela prenne effet).

Avertissement
Les fichiers configurés dans autoload.files dans composer.json seront chargés avant que Webman ne démarre. En revanche, les fichiers chargés via config/autoload.php le sont après le démarrage de Webman.
Les fichiers chargés par autoload.files dans composer.json doivent être redémarrés pour prendre effet après modification, le rechargement ne fonctionne pas. En revanche, les fichiers chargés via config/autoload.php prennent en charge le rechargement à chaud, les modifications prennent effet immédiatement après rechargement.

Charger certains fichiers via le framework

Certains fichiers peuvent ne pas respecter la norme SPR et ne peuvent donc pas être chargés automatiquement. Nous pouvons 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',
    ]
];

Avertissement
Nous voyons que autoload.php a été configuré pour charger les deux fichiers support/Request.php et support/Response.php, car il y a aussi deux fichiers identiques dans vendor/workerman/webman-framework/src/support/. En utilisant autoload.php, nous privilégions le chargement des fichiers support/Request.php et support/Response.php situés dans le répertoire racine du projet, ce qui nous permet de personnaliser le contenu de ces deux fichiers sans modifier ceux du répertoire vendor. Si vous n'avez pas besoin de les personnaliser, vous pouvez ignorer ces deux configurations.