Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Autoload nao funciona - Ubuntu 20.04

Meu autoload nao funcionava de jeito nenhum, nem usando o projeto disponibilizado no curso. Depois de um tempinho de debug, a solucao do Alexandre quase funcionou, mas nao chegou la. Consegui resolver usando o operador de concatenacao .= no primeiro str_replace(), porque assim o caminho completo e uilizado e sem esse operador de concatenacao a variavel era sobrescrita.

spl_autoload_register(function (string $fullClassName) {
  $filePath = __DIR__ . DIRECTORY_SEPARATOR;
  $filePath .= str_replace('Guenka\\Bank', 'src', $fullClassName);
  $filePath = str_replace('\\', DIRECTORY_SEPARATOR, $filePath);
  $filePath .= '.php';

  if (file_exists($filePath)) {
      require_once $filePath;
  }
});

Ah, estou usando o ZorinOS, baseado no Ubuntu 20.04 e o PHP 7.4.10.

1 resposta
solução!

Olá, "Aluno 2". rsrsrs

Somente sua última atribuição a $filePath deve ser com o operador de concatenação.

O str_replace retorna uma nova string e você está adicionando toda ela no final da string original.

Pra facilitar seu entendimento, vá colocando chamadas à função echo entre cada uma das alterações da string. Assim você vai ter mais facilidade para encontrar o problema. :-D

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software