Quem nunca sofreu com aquele monte de includes no começo de um script PHP?
Para aqueles desenvolvedores (maioria, inclusive eu) que implementam uma classe por arquivo e no fim das contas acabam com vários includes por script, existe agora um recurso chamado Autoload, que permite que o próprio PHP inclua dinamicamente as classes de acordo com a necessidade durante o uso.
Para tanto, basta criar a seguinte função no início de cada arquivo:
1. function __autoload($class)
2. {
3.
4. require_once($class.".php");
5.
6. }
A utilização da função é simples, mas cuidado, existem alguns poréns.
Citando meu exemplo que uso o seguinte padrão NomeDaClasse.class.php, ou seja, nome da classe com letra maiúscula seguido de .class e a extensão .php, a função ficaria assim:
1. function __autoload($class)
2. {
3.
4. require_once($class.".class.php");
5.
6. }
Lembrando que o nome da classe e o primeiro nome do arquivo são idênticos (igual ao Java).
Como eu costumo criar todas as classes dentro de um diretório class alocado dentro do diretório includes, é necessário passar o caminho completo de onde a função __autoload deve buscar as classes, ficando assim:
1. function __autoload($class)
2. {
3.
4. require_once("includes/class/".$class.".class.php");
5.
6. }
Mesmo com estes “poréns”, é muito mais fácil e produtivo o uso desta função, pois deixamos de nos preocupar com vários includes, passando este trabalho para o Interpreter do PHP.
A única exigência é que o nome do arquivo que contém a classe deve estar igual ao nome da classe.
Qualquer dúvida basta deixar um comentário abaixo, acessar meu blog www.aguinelopedroso.com ou me contatar pelo e-mail contato@aguinelopedroso.com.
No próximo artigo da série estudaremos Contrutores e Destrutores.