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

Explicação do arquivo autoload

Boa tarde gostaria de uma explicação mais clara no arquivo autoload.php segue:

<?php
function load($namespace){

}

spl_autoload_register(__NAMESPACE__."\load");

Exemplo uma vez chamada a função spl_... o que será colocado no NAMESPACE

Dai o NAMESPACE concatena com ."\load" o que acontece a seguir?

na prática o que eu estou enviando como parâmetro para a função load() na variáveis $namespace?

Essas são as dúvidas iniciais. Depois de entender isso tenho mais perguntas.

1 resposta
solução!

Fala Anderson, beleza?

Então cara, sempre que tua aplicação iniciar ela vai dá o start no autoload daí a mágica acontece quando você instância uma nova classe no seu código, exemplo:

$newClasse = new ClasseNome(); 

Daí ali aonde está $namespace na função load vai entrar o nome da classe e por isso é importante manter o nome do arquivo igual ao nome da classe.

Daí dentro do load você busca a classe (o arquivo) e se ele existir você inclui ele, ou seja, injeta ele para que seja utilizado os métodos da classe importada.

Em termos práticos é como se tu executasse a função passando o nome do arquivo, exemplo:

function load($class){
   // Código de busca e inclusão da classe
   // exemplo GENÉRICO

   $filename = __DIR__ .  "/app/classes/" . $class . ".php";
   $erro404  = __DIR__ . "/app/error/404.php";

   if(file_exists($filename)
    include ($filename);
   else
    include ($erro404);
}

// Por trás dos panos o PHP vai fazer isso sempre que uma nova classe for instanciada. 

load("ClassName");

Entendeu?

Cara eu recomendo fortemente que você utilize o autoload do composer, ele implementa a PSR-4 e é mais seguro fora que vai te economizar tempo na hora de fazer a implementação e meu amigo, tempo é dinheiro.

Autoload com composer

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