10+ Coisas Que Odeio Em Php

  • 1,742 views
Uploaded 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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,742
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
18
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