quinta-feira, 16 de agosto de 2012

Type Hinting no PHP

Olá amigos tudo bem? Hoje serei breve (acho que essa frase virou prefixo dos meus ultimos posts... Oo)




Bem vamos lá....

                                 TYPE HINTING


A partir do PHP 5.0 foi introduzido o Type Hinting, mesmo sendo relativamente velho as pessoas não sabem o que é pois bem, traduzindo Type Hinting é "Indução de Tipo". Particularmente eu não gosto das traduções ao pé da letra pois no mundo da TI isso mais atrapalha do que ajuda, mas nesse caso a tradução ao pé da letra vai ajudar e muito então vamos fazer uma "análise sintática"
da tradução!




Indução de tipo, indução -> alguém está induzindo algo e tipo, esse algo é o tipo. Agora, pesquisando em que contexto isso se refere nós podemos entender que indução de tipo é uma função dizer qual tipo ela recebe, mais o menos assim:
 Exemplo type hinting
  1. /* Type Hinting */
  2. function insereLista(\Lib\Nucleo\Pessoa $pessoa){
  3.         /*
  4.         * inserindo na lista....
  5.         */
  6. }



Temos a função insereLista que recebe um parametro $pessoa... mas o que é esse pessoa? Antes do parametro colocamos a classe em que esse parametro é uma instância dizendo para a função o tipo do parametro. Ficando mais coeso o código e ainda bem fácil de dar manutenção.

Legal é só isso? Funciona com tipo primitivo? :D

Não!

O Type Hinting foi introduzido no PHP 5.0 para objetos e 5.1 para arrays os tipos escalares ainda não é nativo mas, caso vc queira usa-los é necessário o uso da extensão SPL_Types que vc pode ver aqui




PS: Não confundam isso com CAST... não tem nada haver satangoss nessa ideia ai heinn?!


so.... fui.

Mais? php.net

7 comentários:

  1. O PHP começa primeiro com hinting de objeto, depois de array e só por ultimo escalares? Eles decidiram fazer o inverso para forçar tipagem? rs

    ResponderExcluir
    Respostas
    1. Bem eu não chamaria de "forçar" a tipagem rsrs... mas sim tornar o codigo mais coeso. Eu acho que gradativamente isso é bom!

      Excluir
  2. Paulo eu procurei many artigos sobre esse type hinting e não encontrei. Apenas o seu me ajudou! Obrigado!

    ResponderExcluir
  3. Cara eu nem imaginava que o php tinha essa propriedade tão poderosa! seus posts são do caralho PARABENS!

    ResponderExcluir
  4. Caraca, sempre fiz TYPE HINTING e só agora fiquei sabendo o que é.... kkkkkkk

    Valeu Campeonato!!!

    ResponderExcluir
  5. Cara muito massa seu post procurava por esse assunto vi exemplos mas nenhuma explicação br, vc escreve muito bem mas seria bacana publicar uns exemplos pra ficar mais completo me ajudou MTO! obrigado :D

    ResponderExcluir