alexmontoanelli

a little fun!

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

December 6th, 2007 by alexm

Escreva seu código de forma legivel

É mais fácil para debugar e mante-lo mais tarde.

Escrever um codigo legivel, organizado,usando tabulação, nomes auto-sugestivos, e fazendo a aplicação em partes pequenas, funcionais, e reusáveis.

Abaixo um exemplo básico de como NÃO fazer:

if($c!==mir($c)){$d=strtolower(mirC($c));}else{$d=$c;}

e abaixo um exemplo mais organizado:

if ($input !== checkForSpellingErrors($input))
{
	$output = strtolower(correctSpelling($input));
}
else
{
	$output = $input;
}

Mais fácil não ?

December 5th, 2007 by alexm