Desenvolvimento - PHP

PHP5 + OOP - Parte 1 - Autoloading

Veremos nessa série de breve artigos como lidar com OOP com PHP. Nesta primeira parte: Autoloading.

por Aguinelo Pedroso



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, este recurso 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 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.

Aguinelo Pedroso

Aguinelo Pedroso