Include dinâmico pelo PHP

O PHP disponibiliza um método “mágico” chamado “__autoLoad” que faz esta tarefa, logo o mesmo deve ser incluído no início do seu arquivo “.php”. Desta maneira durante a execução do seu script, toda vez que for feita uma referência para um dado que esteja em outro arquivo PHP, o próprio irá incluí-lo.

Para que isto seja possível, é necessário que o “método mágico” seja implementado (sobrescrito), desta maneira você apenas precisa definir os diretórios onde os arquivos que serão incluídos estarão e possíveis prefixos e sufixos nos nomes dos arquivos.

Neste exemplo, fiz o uso de boas práticas de programação e fiz um arquivo serapado para implementar a função, no caso o “RequireManager.class.php”, a sua implementação segue abaixo:

 

Depois que a função foi implementada, agora nos basta apenas incluir este arquivo no ponto da aplicação onde podem ocorrer “inclusões” de arquivos externos ao corrente, como por exemplo no index.php.

Atenção! Neste arquivo PHP, o método __autoLoad faz a inclusão dos arquivos chamados pelo index.php, ou seja, que tiveram origem no arquivo PHP e não nos que foram incluídos automaticamente.

No caso por exemplo de no index.php seja incluído uma classe CategoriaDAO e dentro desta tenha uma classe ProdutoDAO, a classe ProdutoDAO não será incluida, para que a mesma seja incluída é necessário que você faça uma chamada ao arquivo “RequireManager.class.php” de dentro da sua classe CategoriaDAO.

Abraços e até a próxima.

Blog PHP