Caricamento automatico

Caricamento di file conformi a PSR-0 utilizzando Composer

Webman segue le specifiche di caricamento automatico PSR-4. Se il tuo progetto richiede il caricamento di librerie conformi a PSR-0, segui i passaggi seguenti.

  • Crea una directory extend per archiviare le librerie conformi a PSR-0.
  • Modifica composer.json, aggiungendo il seguente contenuto sotto autoload:
"psr-0" : {
    "": "extend/"
}

Il risultato finale sarà simile a:

  • Esegui composer dumpautoload.
  • Esegui php start.php restart per riavviare webman (nota: è necessario riavviare affinché le modifiche abbiano effetto).

Caricamento di determinati file utilizzando Composer

  • Modifica composer.json, aggiungendo i file che si desidera caricare sotto autoload.files:

    "files": [
    "./support/helpers.php",
    "./app/helpers.php"
    ]
  • Esegui composer dumpautoload.

  • Esegui php start.php restart per riavviare webman (nota: è necessario riavviare affinché le modifiche abbiano effetto).

Nota
I file configurati in autoload.files di composer.json vengono caricati prima dell'avvio di webman. I file caricati utilizzando config/autoload.php del framework vengono invece caricati dopo l'avvio di webman.
Le modifiche apportate ai file caricati tramite autoload.files di composer.json richiedono un riavvio per avere effetto, mentre quelle apportate ai file caricati tramite config/autoload.php del framework supportano il ricaricamento a caldo e avranno effetto con un semplice reload.

Caricamento di determinati file utilizzando il framework

Alcuni file potrebbero non essere conformi alle specifiche SPR e non possono essere caricati automaticamente. In questi casi, è possibile caricare tali file configurando config/autoload.php, ad esempio:

return [
    'files' => [
        base_path() . '/app/functions.php',
        base_path() . '/support/Request.php', 
        base_path() . '/support/Response.php',
    ]
];

Nota
Nella configurazione di autoload.php vediamo che vengono caricati due file, support/Request.php e support/Response.php, questo perché nella directory vendor/workerman/webman-framework/src/support/ sono presenti altri due file con lo stesso nome. Grazie a autoload.php, è possibile dare la precedenza ai file presenti nella directory radice del progetto. Ciò consente di personalizzare il contenuto di questi due file senza dover modificare quelli presenti nella directory vendor. Se non è necessario personalizzarli, è possibile ignorare questa configurazione.