10+ coisas que
   odeio em PHP
Almir 'm3nd3s' de Araújo
Coordenador do Grupo PHP-ES
Junior Level Linux Professional (LPIC-...
Motivação
●
    Inspirado na: 10 Coisas que eu Odeio em Java
    (Rafael Santos)
●
    Erros comuns
●
    Falhas de segura...
Segundo a Desciclopédia:
“PHP (Pqp,Hoje estou com Prequiça) é uma das
sete linguagens de programação consideradas
pela Igr...
Não se assuste!
●
    PHP é uma linguagem muito poderosa
    ●
        Suporte a inúmeros banco de dados
    ●
        Com...
Quem usa PHP?




          EU!   5/20
1/2
                 Cronograma
●
    Register globals e escopo de variáveis
●
    Operador de controle de erro
●   Variáv...
Cronograma     2/2


●
    Cuidado com Inteiros “desconhecidos”
●
    Comparações em PHP
●   Funções e seus Alias




    ...
Register Globals
●
    Obsoleto a partir do PHP 5.3.0
●
    Removido do PHP 6.0.0
●   Desde a versão 4.2.0 definido como O...
Operador de Erro
●
    O PHP suporta um operador de controle de
    erro: o sinal 'arroba' (@)
●
    Qualquer mensagem de ...
Vaiáveis variáveis
●
    Uma variável variável pega o valor de uma
    variável e a trata como o nome de uma
    variável....
Constantes automáticas
●
    Já experimentou escrever algo como:

    <?php
       echo 5 * kg * batata;
    ?>




      ...
Casting e Autocasting
●
    PHP é como uma mãe
●
    Pode acontecer por descuido
●   Dificilmente se faz isso por querer! ...
Aspas, Apóstrofos e Crases
●
    Você sabe a diferença?
●
    Para que serve cada uma?
    ●
        Aspas (“)
    ●   Apó...
set_time_limit(0)
●
    Limita o tempo de execução do script
●
    Se este limite é atingido, o script retorna um
    erro...
Modificadores de Cabeçalho e a
      tag de fechamento do PHP
●
    A função header() é usada para enviar um raw
    HTTP ...
Cuidado com Inteiros
            “desconhecidos”
●
    Menos comum, mas pode virar uma pegadinha
●
    Qual o resultado da...
1/2
           Comparações em PHP
●
    Responda o retorno das comparações abaixo:
    ●
        0 == “a”
    ●
        “1...
2/2
         Comparações em PHP
●
    Operadores de comparação: &&, || e and, or
●
    Qual o resultado é impresso pelo va...
Funções e Alias
●
    chop() e rtrim()
●
    die() e exit()
●   doubleval() e floatval()
●   fputs() e fwrite()
●   ini_al...
That's All Folks




                   20/20
Upcoming SlideShare
Loading in …5
×

10+ Coisas Que Odeio Em Php

2,364 views

Published on

Palestra que ministrei no II PHP Day do Espírito Santo na FAESA. Essa palestra tem como objetivo alertar aos PHPzeiros a importância de se conhecer a linguagem, ler mais a documentação e tomar cuidado ao codificar.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,364
On SlideShare
0
From Embeds
0
Number of Embeds
32
Actions
Shares
0
Downloads
21
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

10+ Coisas Que Odeio Em Php

  1. 1. 10+ coisas que odeio em PHP Almir 'm3nd3s' de Araújo Coordenador do Grupo PHP-ES Junior Level Linux Professional (LPIC-1) Desenvolvedor PHP desde 2005 Entusiasta de Software Livre 1/20
  2. 2. Motivação ● Inspirado na: 10 Coisas que eu Odeio em Java (Rafael Santos) ● Erros comuns ● Falhas de segurança ● Falta de conhecimento ● PHP é fácil 2/20
  3. 3. Segundo a Desciclopédia: “PHP (Pqp,Hoje estou com Prequiça) é uma das sete linguagens de programação consideradas pela Igreja Católica como satânicas … . Acredita- se que foi criada com o único propósito de desvirtuar inocentes programadores e levá-los ao caminho do mal. O sujeito que se atreve a programar em PHP começa a perder gradativamente o conhecimento em outras linguagens, e passa a usar variáveis sem as declarar em qualquer linguagem.” http://desciclo.pedia.ws/wiki/PHP 3/20
  4. 4. Não se assuste! ● PHP é uma linguagem muito poderosa ● Suporte a inúmeros banco de dados ● Comunicação com outros serviços utilizando protocolos como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (em Windows) e incontáveis outros. ● O PHP possui inúmeras extensões ● Ótima documentação ● PHP é fácil ● A intenção é informar e alertar 4/20
  5. 5. Quem usa PHP? EU! 5/20
  6. 6. 1/2 Cronograma ● Register globals e escopo de variáveis ● Operador de controle de erro ● Variáveis variáveis ● Constantes automáticas ● Casting e Auto Casting ● Aspas, Apóstrofos e Crases ● set_time_limit() ● Modificadores de cabeçalho e “?>” 6/20
  7. 7. Cronograma 2/2 ● Cuidado com Inteiros “desconhecidos” ● Comparações em PHP ● Funções e seus Alias 7/20
  8. 8. Register Globals ● Obsoleto a partir do PHP 5.3.0 ● Removido do PHP 6.0.0 ● Desde a versão 4.2.0 definido como OFF ● Não se confia em estranhos! ● Com register_globals ativado é mais fácil escrever códigos inseguros 8/20
  9. 9. Operador de Erro ● O PHP suporta um operador de controle de erro: o sinal 'arroba' (@) ● Qualquer mensagem de erro gerada por uma expressão será ignorada ● Uso inadequado ● Prefira usar funções de Manipulação de Erros e Logging, ou ao menos track_errors + $php_errormsg 9/20
  10. 10. Vaiáveis variáveis ● Uma variável variável pega o valor de uma variável e a trata como o nome de uma variável. ● O que dizer de arrays assim? 10/20
  11. 11. Constantes automáticas ● Já experimentou escrever algo como: <?php echo 5 * kg * batata; ?> 11/20
  12. 12. Casting e Autocasting ● PHP é como uma mãe ● Pode acontecer por descuido ● Dificilmente se faz isso por querer! (eu acho) ● Caso clássico: patos, galinhas e pombo ● Me diga o resultado de: 1 + "-1.3e3"; 12/20
  13. 13. Aspas, Apóstrofos e Crases ● Você sabe a diferença? ● Para que serve cada uma? ● Aspas (“) ● Apóstrofo(') ● Crase (`) 13/20
  14. 14. set_time_limit(0) ● Limita o tempo de execução do script ● Se este limite é atingido, o script retorna um erro fatal ● Nunca! Eu disse NUNCA, nunca use set_time_limit(0) sem que seja necessário! 14/20
  15. 15. Modificadores de Cabeçalho e a tag de fechamento do PHP ● A função header() é usada para enviar um raw HTTP header. ● Precisa ser chamada antes que qualquer saída tenha sido feita. ● É muito comum acontecer problemas quando usando includes. ● Para evitar alguns programadores costumam não “finalizar” o código PHP com “?>” 15/20
  16. 16. Cuidado com Inteiros “desconhecidos” ● Menos comum, mas pode virar uma pegadinha ● Qual o resultado da seguinte soma em PHP: 07 + 011? ● E esta soma: 0x21 + 1? ● Ok, ok! E essa então: 1 + 1e2 ● Ler a documentação é sempre bom! 16/20
  17. 17. 1/2 Comparações em PHP ● Responda o retorno das comparações abaixo: ● 0 == “a” ● “1” == “01” ● “10” == “1e1” ● Funções que retornam posição: strpos(), array_search(), ... ● Operador Idêntico ● Operador Não Idêntico 17/20
  18. 18. 2/2 Comparações em PHP ● Operadores de comparação: &&, || e and, or ● Qual o resultado é impresso pelo var_dump() para essas comparações: $a = true && false; $b = true and false; var_dump($a, $b); $c = true || false; $d = true or false; var_dump($c, $d); 18/20
  19. 19. Funções e Alias ● chop() e rtrim() ● die() e exit() ● doubleval() e floatval() ● fputs() e fwrite() ● ini_alter() e ini_set() ● is_*() 19/20
  20. 20. That's All Folks 20/20

×