Carregamento automático
Carregamento de arquivos PSR-0 usando o composer
O webman segue a especificação de carregamento automático PSR-4
. Se o seu aplicativo precisar carregar bibliotecas de código seguindo a especificação PSR-0
, siga as etapas abaixo.
- Crie o diretório
extend
para armazenar as bibliotecas seguindo a especificaçãoPSR-0
. - Edite o arquivo
composer.json
e adicione o seguinte conteúdo dentro deautoload
:
"psr-0" : {
"": "extend/"
}
O resultado final será semelhante a:
- Execute
composer dumpautoload
- Execute
php start.php restart
para reiniciar o webman (observe que é necessário reiniciar para que as alterações tenham efeito)
Carregamento de arquivos usando o composer
- Edite o arquivo
composer.json
e adicione os arquivos que deseja carregar dentro deautoload.files
:
"files": [
"./support/helpers.php",
"./app/helpers.php"
]
- Execute
composer dumpautoload
- Execute
php start.php restart
para reiniciar o webman (observe que é necessário reiniciar para que as alterações tenham efeito)
Observação
Os arquivos configurados emautoload.files
docomposer.json
serão carregados antes do início do webman. Os arquivos carregados por meio do arquivoconfig/autoload.php
do framework serão carregados após o início do webman.
As alterações nos arquivos carregados por meio deautoload.files
docomposer.json
só terão efeito após a reinicialização, não serão aplicadas com o recarregamento. Já os arquivos carregados por meio do arquivoconfig/autoload.php
do framework suportam recarregamento, ou seja, as alterações nesses arquivos serão aplicadas com o recarregamento.
Carregamento de arquivos usando o framework
Alguns arquivos podem não seguir a especificação PSR, impossibilitando o carregamento automático. Nesses casos, podemos configurar o carregamento desses arquivos por meio do arquivo config/autoload.php
, como no exemplo abaixo:
return [
'files' => [
base_path() . '/app/functions.php',
base_path() . '/support/Request.php',
base_path() . '/support/Response.php',
]
];
Observação
No arquivoautoload.php
, configuramos o carregamento dos arquivossupport/Request.php
esupport/Response.php
, pois esses arquivos também estão presentes emvendor/workerman/webman-framework/src/support/
. Ao priorizar o carregamento dos arquivos localizados no diretório raiz do projeto, podemos personalizar o conteúdo desses arquivos sem precisar modificar os arquivos presentes no diretóriovendor
. Se não for necessário personalizá-los, essas configurações podem ser ignoradas.