Dicas função __autoload()
Olá,
Pra quem não sabe, existe um método ‘mágico’ usado como ultima tentativa para carregar uma classe antes que o PHP retorne um erro.
Esse método tem a seguinte assinatura:
__autoload($className);
O argumento de entrada recebido é o nome da classe que o Interpretador esta procurando.
Então se sempre usarmos as boas práticas e tivermos nossos arquivos e classes em uma Estrutura hierárquica bem organizado podemos utilizar o método a nosso favor, e dar adeus a requires_onces em nossas classe, veja o exemplo abaixo:
Diretório: Unetvale:
Arquivo: Core.php -> Classe: Unetvale_Core
Arquivo: Auth.php -> Class: Unetvale_Auth
Arquivo: Auth/Lib/Ldap.php -> Class: Unetvale_Auth_Lib_Ldap
function __autoload($className){ if (ereg('_', $className)) { $file = null; $path = str_replace('_', DIRECTORY_SEPARATOR, $className); $file = $path . '.php'; require_once($file); } }
Pronto, basta ter o include_path apontando tambem para os diretorios onde temos nossa bibliotecas e esta tudo resolvido.
abraços