quinta-feira, 8 de setembro de 2011

Apelidando classes no PHP

Fala gente tudo bem? Hoje o assunto é algo muito util para desenvolvedores que utilizam frameworks ou ainda classes com nomes largos pois vamos 'agilizar' nossa escrita e entendimento apelidando nossas classes sem afetar o funcionamento da aplicação mas antes, uma breve histórinha...



Em uma Vila muito distante chamada KAKI existia um cara chamado José Henrico Fernando Camargo da Silva Santos Pereira Vilella(Foto) na qual por ter esse nome ‘PEQUENO’ seus amigos preferiam chama-lo de Zé pois era muito mais prático falar com ele dessa forma.



Mas espera ai, se nessa vila que mal tinha telefone eles usam APELIDOS pq nós que buscamos agilidade no desenvolvimento de aplicações chamamos classes com nomes do tamanho do apolo 12 da bíblia sagrada? Principalmente quando utilizamos frameworks como o ZEND que evitamos o uso de includes e requires pelo simples fato do mapeamento a partir do nome da classe como por exemplo chamar a entidade pessoa do model que ficaria assim Application_Model_Entity_Pessoa que para ficar facil de entender seria a classe pessoa que esta na entity dentro do model na application... mas pq não posso chamar ela com um apelido? 

Pode sim e o trabalho é simples, basta aplicar um apelido nela assim como o pessoal da vila kaki fez com o José (ZÉ) mas diferente deles que chamaram uma função nativa da cabeça nós vamos chamar uma do PHP =]
Olha como iriamos fazer com o Zé se ele fosse uma classe PHP...


Mostrando o funcionamento do class_alias
  1. class_alias('Jose_Henrico_Fernando_Camargo_da_Silva_Santos_Pereira_Vilella' ,'ze');
  2. $pessoa = new ze();

Olha só, utilizamos a função class_alias que cria um alias (apelido) para uma classe e pronto é só chamar pelo apelido... Ai vc pode utilizar sua mente criativa e pensar onde trabalhar com isso... se cria uma lib que monta tudo perfeitinho mas isso vai fazer parte =]

Para aproveitar vamos ver que classe é esse alias?



Utilizando o get_class
  1. echo get_class($pessoa);
E sinceramente vc acha que vai aparecer oq na tela? O apelido ou o nome real?

O nome real pq a classe da pessoa é o nome completo e não o apelido...
Bem, post rápido como sempre mas acho interessante =]

Flw e até a próxima. 

5 comentários:

  1. Hahaha... amei o POST, muito didático vc é calmo e deixa claro a idéia... não sabia q o PHP era tão poderoso assim, valeu PV

    ResponderExcluir
  2. valeu PV²²²²²²²²²

    Tem como eu montar os alias no bootstrap?

    ResponderExcluir
  3. Excelente! Muito útil para o ZF.

    ResponderExcluir
  4. Lembrando para para ativar o class_alias no host

    ResponderExcluir
  5. Mila , é possivel sim colocar no bootstrap

    ResponderExcluir