Padrão de carregamento automático PSR-4
Entenda como o PSR-4 mapeia segmentos de namespaces para caminhos de diretórios.
Padrão de carregamento automático PSR-4 é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 3 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.
O que é carregamento automático
Carregamento automático significa que o PHP carrega automaticamente o arquivo de uma classe na primeira vez que você usa essa classe — não é necessário fazer um require manual.
Antes do carregamento automático
Sem o carregamento automático, cada arquivo começava com dezenas de chamadas a require_once — uma abordagem frágil e difícil de manter.
Regra PSR-4
PSR-4 mapeia um prefixo de espaço de nomes para um diretório base. Dado o prefixo App\ → src/: App\Models\User é carregado de src/Models/User.php.
A fórmula de mapeamento
Remova o prefixo, substitua as barras invertidas restantes por separadores de diretório e acrescente .php.
App\Services\Payment\Stripe → src/Services/Payment/Stripe.php
Seção autoload de composer.json
Defina os mapeamentos PSR-4 em composer.json. Execute composer dump-autoload depois das alterações.
// composer.json
{
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}Vários prefixos de espaços de nomes
Um projeto pode ter vários mapeamentos PSR-4 — isso é útil para separar espaços de nomes de testes.
// composer.json
{
"autoload": { "psr-4": { "App\\": "src/" } },
"autoload-dev": { "psr-4": { "Tests\\": "tests/" } }
}Nome da classe = nome do arquivo
O nome da classe deve corresponder exatamente ao nome do arquivo (com distinção entre maiúsculas e minúsculas no Linux). class UserService deve estar em UserService.php.
Uma classe por arquivo
PSR-4 exige exatamente uma classe, interface ou trait por arquivo. Várias definições interrompem o carregamento automático.
PSR-4 versus PSR-0
PSR-0 (obsoleto) usava sublinhados nos nomes de classes como separadores de diretório. PSR-4 é mais simples e é o padrão atual.
O carregador automático gerado
Depois de composer dump-autoload, o Composer grava vendor/autoload.php. Faça o require dele uma vez no ponto de entrada.
<?php
require __DIR__.'/vendor/autoload.php';
$user = new App\Models\User(); // autoloads automaticallyAlternativa do mapa de classes
O Composer também gera um mapa de classes para arquivos que não seguem PSR-4. Isso é útil para código legado.
Organização prática de diretórios
src/
Models/User.php → App\Models\User
Http/Controllers/
UserController.php → App\Http\Controllers\UserControllerVerificação rápida
Onde o PSR-4 encontra App\Services\Mailer se o prefixo App\\ for mapeado para src/?
Perguntas Frequentes
A aula “Padrão de carregamento automático PSR-4” é grátis?
Sim — o texto completo de “Padrão de carregamento automático PSR-4” é 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 “Padrão de carregamento automático PSR-4”?
Entenda como o PSR-4 mapeia segmentos de namespaces para caminhos de diretórios. 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 3 de 4.
Quanto tempo leva a aula “Padrão de carregamento automático PSR-4”?
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