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 aPSR-0
- Modifica
composer.json
aggiungendo il seguente contenuto sottoautoload
"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 sottoautoload.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 inautoload.files
nelcomposer.json
verranno caricati prima dell'avvio di webman. I file caricati tramite il frameworkconfig/autoload.php
verranno invece caricati dopo l'avvio di webman.
I file caricati daautoload.files
incomposer.json
devono essere riavviati per avere effetto dopo qualsiasi modifica, il reload non avrà effetto. I file caricati tramite il frameworkconfig/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 inautoload.php
sono stati impostati per caricare i filesupport/Request.php
esupport/Response.php
. Questo perché nella directoryvendor/workerman/webman-framework/src/support/
ci sono anche due file identici. Utilizzandoautoload.php
caricheremo prioritariamente i filesupport/Request.php
esupport/Response.php
dalla directory principale del progetto, consentendoci di personalizzare il contenuto di questi file senza modificare quelli presenti invendor
. Se non hai bisogno di personalizzarli, puoi ignorare queste due configurazioni.