Registro de carregadores automáticos
Configure spl_autoload_register e o carregamento automático baseado no Composer.
Registro de carregadores automáticos é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.
spl_autoload_register
spl_autoload_register() registra uma função de retorno que o PHP chama sempre que uma classe indefinida é usada. Vários carregadores automáticos são executados na ordem de registro.
Carregador automático personalizado básico
Um carregador automático mínimo no estilo PSR-4, escrito manualmente:
<?php
spl_autoload_register(function (string $class): void {
$prefix = 'App\\';
$baseDir = __DIR__.'/src/';
if (!str_starts_with($class, $prefix)) return;
$rel = substr($class, strlen($prefix));
$file = $baseDir.str_replace('\\', '/', $rel).'.php';
if (file_exists($file)) require $file;
});Vários carregadores automáticos
Registre um carregador automático por prefixo de espaço de nomes para que cada um trate apenas as próprias classes.
<?php
spl_autoload_register(fn($c) => loadFromSrc($c));
spl_autoload_register(fn($c) => loadFromLib($c));autoload.php do Composer
Na prática, quase nunca é necessário escrever seu próprio carregador automático. O Composer gera um que abrange todos os pacotes e também os seus mapeamentos PSR-4.
<?php
require __DIR__.'/vendor/autoload.php';dump-autoload
Depois de adicionar novas classes ou alterar as configurações de carregamento automático de composer.json, gere novamente o carregador automático: composer dump-autoload.
Carregador automático otimizado
composer dump-autoload --optimize cria um mapa de classes estático — eliminando as buscas no sistema de arquivos durante a execução. É recomendado para produção.
Carregamento automático de arquivos (funções globais)
Use a chave files em composer.json para arquivos auxiliares com funções globais. Eles são sempre incluídos.
// composer.json
{
"autoload": {
"files": ["src/helpers.php"]
}
}Ordem de execução dos carregadores automáticos
Os carregadores automáticos são chamados na ordem de registro. Se o primeiro não encontrar a classe, ele retorna sem erro e o PHP tenta o próximo.
Depurando problemas de carregamento automático
Causas comuns de "Class not found": ausência de dump-autoload, uso incorreto de maiúsculas e minúsculas no nome do arquivo ou da classe, ou incompatibilidade do prefixo de espaço de nomes em composer.json.
Desempenho de PSR-4 versus mapa de classes
PSR-4 faz chamadas stat ao sistema de arquivos. O mapa de classes faz uma busca em tabela de dispersão — é mais rápido, mas precisa ser regenerado a cada nova classe.
Testando o carregamento automático
Verifique o seu carregador automático:
<?php
require 'vendor/autoload.php';
$obj = new \App\Services\EmailService();
echo get_class($obj); // App\Services\EmailServiceResumo
spl_autoload_register sustenta todo o carregamento automático do PHP. O Composer cuida da maior parte do trabalho — basta executar dump-autoload quando você adicionar novas classes.
Verificação rápida
Qual comando regenera o carregador automático do Composer?
Perguntas Frequentes
A aula “Registro de carregadores automáticos” é grátis?
Sim — o texto completo de “Registro de carregadores automáticos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.
O que vou aprender em “Registro de carregadores automáticos”?
Configure spl_autoload_register e o carregamento automático baseado no Composer. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar PHP Academy?
Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Registro de carregadores automáticos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de PHP Academy?
Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Declaração e uso de namespaces
- Namespaces aninhados e aliases
- Padrão de carregamento automático PSR-4
- Registro de carregadores automáticos