Autoload de Classes simples
Atentendo a pedidos estou colocando uma classe que faz autoload de classes para um projeto.
A classe usa o novo (não tão novo assim) mecanismo SP_AUTOLOAD que cria uma pilha de autloads, não afetando desse modo outros mecanismos que possam estar registrados, como para quem usa PEAR.
Modo de usar
A classe mapeia todos os diretórios e arquivos de classes existentes dentro de uma estrutura.
Se utilizar a configuração padrão ele irá subir um nível de onde a classe estiver e varrerá todos os diretórios a procura de arquivos .php que possuam uma definição de classe, interface e afins e criará um arquivo temporário em seu primeiro carregamento.
Esse primeiro carregamento costuma demorar um pouco dependendo do tamanho do sistema. Ele é feito apenas uma única vez.
Caso novas classes sejam incluídas posteriormente, deve-se eliminar o arquivo de cache gerado ou configurar a classe para que force a geração de tal arquivo.
Para uma chamada simples e funcional use
A classe usa o novo (não tão novo assim) mecanismo SP_AUTOLOAD que cria uma pilha de autloads, não afetando desse modo outros mecanismos que possam estar registrados, como para quem usa PEAR.
Modo de usar
A classe mapeia todos os diretórios e arquivos de classes existentes dentro de uma estrutura.
Se utilizar a configuração padrão ele irá subir um nível de onde a classe estiver e varrerá todos os diretórios a procura de arquivos .php que possuam uma definição de classe, interface e afins e criará um arquivo temporário em seu primeiro carregamento.
Esse primeiro carregamento costuma demorar um pouco dependendo do tamanho do sistema. Ele é feito apenas uma única vez.
Caso novas classes sejam incluídas posteriormente, deve-se eliminar o arquivo de cache gerado ou configurar a classe para que force a geração de tal arquivo.
Para uma chamada simples e funcional use
include_once('MREAutload.class.php'); // inclua o arquivo
$autoload = MREAutload::getInstance(); // recupere uma instância
$autoload
// ->setRootDir('caminho/para/diretorio/que/quer/mapear'); //
// $autoload->setRebuildOn(); // opcional - pede para refazer o cache
->register(); // registre a classe na pilha
$object = new ClassName();
Data | Autor | Changelog | Download |
---|---|---|---|
22/11/2011 7:50pm | Marcos Regis | - | Versão 1.0.0 |
Novo Comentário: