Criando um autoload turbinado

Geralmente um autoload simples funciona perfeitamente…

Mas se você é como eu que gosta de categorizar as coisas, e organiza suas classes conforme o módulo, e distribui elas em pastas e sub pastas, isso ai não vai funcionar muito bem.

Então é preciso de algo mais robusto, então vamos lá por partes.

É preciso de uma função que verifique em todas as pastas se o arquivo existe, então fiz assim:

Comentei bem a função, assim não preciso ficar descrevendo ela toda, mas basicamente você informa o diretório padrão (acredito que você também não saia distribuindo classes em várias pastas… Mas se fizer isso é só mudar o parâmetro do diretório pra um array e adicionar um foreach englobando toda a função), e ela faz todo o resto, agora só falta incluí-la no autoload:

Daí é só customizar o retorno da função ao seu gosto. Estou disponibilizando o código no GitHub. Use, abuse e compartilhe! 😀

 

Carlos Amaral

Programador, entusiasta da tecnologia, admirador da cultura japonesa e cristão protestante. Nascido em Porangatu interior de Goiás, cursou Sistemas de Informações tendo que abandonar na metade para uma mudança geográfica. Veio parar em Joinville - SC, capital da dança, onde atualmente está trabalhando com programação web e constituindo família.