0Pricing
PHP Academy · Aula

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 automatically

Alternativa 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\UserController

Verificaçã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

  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