Otimizando seu PHP

Posted: 21st novembro 2010 by Ricardo in Desenvolvimento, PHP
Tags: , , , , ,

Algumas vezes as pessoas me perguntam como melhorar o desempenho de seus códigos PHP, é claro que isto é algo bem vago; E que possuí algumas variáveis que podem inverter o “melhor” e o “pior”.

É claro, que nem sempre o código mais bonito é o mais eficiente, tal como as vezes um código mal feito pode ser o gargalo da sua aplicação. Então, como melhorar o desempenho das suas aplicações?

Existem algumas dicas, alguns truques, algumas coisas que com o tempo acabamos aprendendo, através da prática, de testes, de outras pessoas que já buscaram melhorar o desempenho de seus aplicativos e acabaram descobrindo alguns “truques” para ganhar desempenho.

Dicas

Vou listar aqui algumas coisas que eu normalmente faço, mas que nem sempre é uma regra, tudo depende do porte do aplicativo que estou desenvolvendo. Permitam-me compartilhar isto com vocês.

  • Reduzir o include_path

O PHP possuí por padrão alguns “caminhos” adicionados, os quais nos indicam onde encontrar algumas bibliotecas do PHP. Sempre que possível, reduza ao máximo os “caminhos”, deixando apenas o que for realmente necessário.

  • Caminhos absolutos

Sempre que possível indique seus includes ou requires através de caminhos absolutos.

  • Use cache

Isso é sério! Use algum sistema de cache, seja APC, XCache ou qualquer sistema de cache. Isto melhora o desempenho de seus sistemas em MINUTOS.

  • CLI e Cron

Algumas vezes necessitamos executar algumas operações que necessitam de processamentos complextos, como por exemplo criar miniatura de imagens. Para isso você pode padronizar uma imagem padrão enquanto a miniatura não for gerada, e executar um script PHP-CLI através do Cron (agendador de tarefas) que então irá gerar a miniatura.

  • Filtro de erros

Sabe aquela “@” que colocamos algumas vezes no inicio de alguma função, para evitar que o PHP mostre algum aviso ao usuário? Evite-a, isso certamente consome um tempo precioso durante a execução da sua aplicação.

  • Selecionar tudo

Evite usar “SELECT *” nas suas buscas SQL. Seja objetivo, você nem sempre quer retornar todos os dados da tabela.

  • Manipulando uma string

Não use preg_replace, tente usar str_replace ele é bem mais rápido; Porém lembre-se strtr é bem mais rápido que ambos!

  • $_POST, $_GET e afins

Usar $_POST[‘name’] é bem mais rápido que $_POST[name].

  • Não use funções dentro de loops

Sempre vejo algumas pessoas utilizarem funções dentro de loops, não faça isto, pois a função acabará sendo executada inumeras vezes.

Não faça assim:

for($i = 0; $i <= count($array); $i++) {
	// ...
}

Faça assim:

$num = count($array);
for($i = 0; $i <= $num; $i++) {
	// ...
}
  • print vs echo

Use echo ao invés de print, pode parecer brincadeira mas você acaba ganhando algum desempenho. Pois diferente do echo o print sempre retorna um valor inteiro ao final da sua execução.

Conclusão

Espero realmente que esta publicação tenha sido útil. Existem inumeras outras dicas para você melhorar o desempenho de suas aplicações PHP, basta você ter um pouco de paciência e procurar no google sobre o assunto, e também nada melhor que o tempo para nos mostrar qual a sua real importância para nossos aplicativos.