1
resposta

Olá, no curso de Orientação A Objetos em PHP é falado sobre o uso de namespaces. Entretanto, eu ainda não entendi muito bem o motivo de usar o namespace como:

namespace Alura\Banco\Modelo\Funcionario;

especificamente a parte:

Alura\Banco\

que são pastas que não existem de verdade no sistema - criando a necessidade, inclusive, de modificar o Autoloader para que o namespace possa funcionar. Essa dúvida surgiu quando migrei para o Eclipse IDE onde o mesmo acusava "erro" ao usar "Alura\Banco" ao invés do caminho real como:

namespace phpoo\src\Modelo\Funcionario;

Resumo da dúvida: Existe algum beneficio ou algum padrão da comunidade que recomende o uso desses endereços "falsos"? Devo seguir esse padrão ou confiar no Ecplise e implementar o caminho "real" no namespace?

1 resposta

Rafael, você criou uma dúvida sem título e fora de qualquer curso específico. Por isso ela ficou perdida aqui no fórum...

rsrsrs

Quando ao namespace raiz, como foi comentado no curso, se refere à PSR-4. A recomendação da PSR-4 é de que tenhamos um namespace raiz (ou vendor namespace), que no caso do curso foi escolhido como Alura\Banco. Esse vendor namespace deve ser mapeado para uma pasta raiz, no nosso caso, src. A partir deste mapeamento inicial, o restante da estrutura de namespaces é "convertido" em estrutura de diretórios.

Mais detalhes aqui: https://www.php-fig.org/psr/psr-4/

Quanto ao Eclipse, provavelmente é um bug. Nunca o usei. Talvez quando você fizer o curso de Composer vai ver que o Eclipse passa a ler o composer.json. Não sei...