0Pricing
PHP Academy · Aula

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\EmailService

Resumo

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

  1. Declaração e uso de namespaces
  2. Namespaces aninhados e aliases
  3. Padrão de carregamento automático PSR-4
  4. Registro de carregadores automáticos
← Voltar para PHP Academy