Autoloading

Utilizzare composer per caricare file conformi a PSR-0

Webman segue lo standard di autoloading PSR-4. Se la tua attività richiede di caricare librerie di codice conformi a PSR-0, segui le istruzioni seguenti.

  • Crea una directory extend per memorizzare le librerie di codice 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)

Utilizzare composer per caricare alcuni file

  • Modifica composer.json, aggiungendo i file da 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)

Suggerimento
I file configurati in autoload.files nel composer.json verranno caricati prima dell'avvio di webman. I file caricati tramite il framework config/autoload.php verranno invece caricati dopo l'avvio di webman.
I file caricati da autoload.files in composer.json devono essere riavviati per avere effetto dopo qualsiasi modifica, il reload non avrà effetto. I file caricati tramite il framework config/autoload.php supportano il caricamento dinamico e possono essere aggiornati semplicemente con un reload dopo le modifiche.

Utilizzare il framework per caricare alcuni file

Alcuni file potrebbero non conformarsi agli standard SPR e non possono essere caricati automaticamente. Possiamo caricare questi file configurando config/autoload.php, ad esempio:

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

Suggerimento
Abbiamo visto che in autoload.php sono stati impostati per caricare i file support/Request.php e support/Response.php. Questo perché nella directory vendor/workerman/webman-framework/src/support/ ci sono anche due file identici. Utilizzando autoload.php caricheremo prioritariamente i file support/Request.php e support/Response.php dalla directory principale del progetto, consentendoci di personalizzare il contenuto di questi file senza modificare quelli presenti in vendor. Se non hai bisogno di personalizzarli, puoi ignorare queste due configurazioni.