Dicas para otimizar seus códigos PHP.

[TV Digital] Patinando na montanha Russa
24/07/2009
Inclusão de dados em banco Mysql com PHP
24/07/2009

PHP

Saudações, galera. Meu nome é André Luis e eu fui convidado a postar aqui no nosso estimado Zoom Digital.  Em minha primeira postagem quero deixar algumas dicas importantes para quem programa em PHP. Tratam-se de algumas dicas rápidas para melhorar a sua codificação. Geralmente nós programadores temos vícios que adquirimos no dia-a-dia que, sem sabermos, tornam o nosso código mais lento. Se ficarmos atentos a alguns pequenos detalhes, nossa codificação se torna mais ágil e eficaz. 1. Se um método pode ser static, declare-o como static! O desempenho aumenta 4 vezes; 2. Evite utilizar metódos mágicos como __get, __set e __autoload, se possível; 3. require_once() é dispensável e demanda bastante memória; 4. Use caminhos completos (full path) nos includes e requires, pois é gasto menos tempo resolvendo os caminhos do sistema operacional; 5. Se você quer descobrir o tempo em que o script começou a ser executado, é preferível utilizar $_SERVER[´REQUEST_TIME´] do que time(); 6. Veja se pode utilizar strncasecmp, strpbrk e stripos ao invés de regex; 7. str_replace é mais rápido que preg_replace, mas strtr é 4 vezes mais rápido que str_replace; 8. Se uma função, como de substituição de strings, aceitar tanto arrays como caracteres simples como argumentos, e se a sua lista de argumentos não é muito longa, considere fazer algumas declarações redundantes de substituição, passando um caractere por vez, ao invés de uma linha de código que aceita arrays como argumentos de busca e substituição; 9. Supressão de erro com @ é muito lento; 10. $row[´id´] é 7 vezes mais rápido que $row[id]; 11. Mensagens de erro demandam mais processamento; 12. Não utilize funções dentro de loops, como por exemplo:
for ($x=0; $x < count($array); $x)
A função count() é chamada todas as vezes que o loop é executado.; 13. Comente sempre o seu código. Isso facilita muito numa eventual manutenção. 14. ECHO é mais rápido do que PRINT. Claro que a diferença é mínima. Pois o print() imprime um valor na tela e retorna um valor inteiro(1 ou 0) enquanto o echo apenas imprime o valor na tela. 15. Defina o tamanho dos seus loops antes de executá-los. Procure evitar o uso de funções como count() e sizeof() no meio de loops. 16. Sempre que possível, libere variáveis que não serão mais usadas, principalmente array’s.
unset($frutas);
unset($frutas[0]); //para apagar um índice no caso de arrays
17. Procure utilizar aspas simples para STRINGS. Quando você usa aspas simples, o PHP não se preocupa em tentar interpretar o que tem dentro da STRING (variáveis e etc…). Com aspas duplas você pode fazer isso:
$texto = “meu texto com uma $variavel.”;
Ou seja, SEMPRE quando tiver aspas duplas, o PHP irá verificar se tem alguma variável para ser interpretada. No caso das aspas simples, ela não interpreta variáveis dentro dela, sendo assim, o PHP gasta menos tempo. 18. É mais rápido usar “SWITCH” do que vários “ELSE IF”.
switch ($mes) {
case 1:
echo ‘Janeiro’;
break;
case 2:
echo ‘Fevereiro’;
break;
case 3:
echo ‘Março’;
break;
case 4:
echo ‘Abril’;
break;
case 5:
echo ‘Maio’;
break;
default:
echo ‘Não Sei’;
break;
}
Philipe Cardoso
Philipe Cardoso
26 anos, Advogado, Carioca, Criador do Portal Zoom Digital, mantém desde a epoca que possuía formato de blog, Podcaster oficial do Zoom Cast. Amante por todo tipo de tecnologia.

7 Comentários

  1. Parabéns pelo post, ótimas dicas!

    valeu

  2. Interessante as dicas, e sempre bom criar codigos mais otimizados

  3. Ótimas dicas! Algumas eu já sabia, mas outras são novidade. Otimização sempre!

  4. Hugo Luiz disse:

    Eita que bom! essa não sabia
    vlw por colocar esse conteúdo

  5. André Silva disse:

    Obrigado pelas visitas ao post, pessoal. Espero continuar ajudando vocês a aprender algumas coisinhas sobre PHP (e eu quero aprender tb rsrs).

    Até a próxima.

  6. CACA-COBRA disse:

    Essa do __get, __set e __autoload são questionáveis mas tá valendo. 🙂

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *