Your SlideShare is downloading. ×

10+ Coisas Que Odeio Em Php

1,828

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 …

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
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,828
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. 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. 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. Quem usa PHP? EU! 5/20
  • 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. Cronograma 2/2 ● Cuidado com Inteiros “desconhecidos” ● Comparações em PHP ● Funções e seus Alias 7/20
  • 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. 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. 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. Constantes automáticas ● Já experimentou escrever algo como: <?php echo 5 * kg * batata; ?> 11/20
  • 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. Aspas, Apóstrofos e Crases ● Você sabe a diferença? ● Para que serve cada uma? ● Aspas (“) ● Apóstrofo(') ● Crase (`) 13/20
  • 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. 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. 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. 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. 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. 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. That's All Folks 20/20

×