Toda as linguagens de programação modernas foram idealizadas e são feitas de modo a permitir fazer a mesma tarefa de inúmeras maneiras diferentes. Esse “todos caminhos levam a Roma” da programação moderna é bastante útil, já que o desenvolvedor tem a oportunidade de escolher por quais jeitos vai guiar sua programação e quais caminhos seguirá para implementar seus projetos. Com o PHP não poderia ser diferente: ao programar com PHP, além de ser bem tranquilo, é possível implementar diversas soluções de diversas maneiras diferentes.
Mas esta liberdade toda, se mal utilizada, pode prejudicar a performance e qualidade de um projeto. Através de más práticas de programação PHP alguém pode fazer o desempenho de um sistema inteiro ficar aquém de suas potencialidades, caso este tivesse sido programado de maneira “adequada”. Existem algumas pequenas dicas que são fáceis de seguir – não interferem em nada a lógica do programa e modus operandi do progamador PHP – e surtem bons resultados, rumo à otimização e ganho de desempenho e performance de seus scripts.
Otimização de saída de dados
O PHP permite o processamento server side das soliticações feitas no lado do cliente. É muito importante, então, uma boa performance ao exibir o resultado deste processamento feito no lado do servidor, já que o front-end de uma aplicação ou sistema deve ser fácil de usar e rápido ao responder requisições.
Use “echo” ao invés de “print”
Dentre as duas funções que permitem a exibição de informações – o “tal” processamento server-side -, as funções echo e print são as mais conhecidas. Entretanto, usar a função echo é melhor, já que, apesar de ambas servirem e realizarem a mesma coisa – exibir saídas e informações – o desempenho de echo é melhor.
Portanto, prefira utilizar echo()!
Aspas simples e aspas duplas
Para exibir em tela o conteúdo de uma variável, é possível utiliza as duplas (“) e escrever a variável juntamente com o restante da exibição; ou utilizar aspas simples (‘) e concatenar as variáveis (.) com o restante da saída, de certa forma “isolando” as variáveis do restante da exibição em tela.
É melhor usar aspas simples com “isolamento” das variáveis ao invés de aspas duplas com as variáveis juntamente ao restante do conteúdo. Portanto, prefira usar:
1 2 3 4 5 |
// maneira menos eficiente echo "Esta é uma maneira menos eficiente de exibir uma $var!"; // maneira mais eficiente echo 'Esta é uma maneira mais eficiente de exibir uma ' . $var . '!'; |
E há ainda uma maneira ainda rápida e com melhor performance no PHP. Apesar de ser um pouco estranha esta sintaxe – pelo menos para mim -, os resultados em passar múltiplos parâmetros à função ao invés de realizar concatenação são mais satisfatórios:
1 2 |
// maneira muito eficiente (com sintaxe estranha...) echo 'Maneira muito mais eficiente de exibir uma', $var, '!'; |
Otimização de loops
Não há que se falar em fazer um web site ou sistema em PHP sem falar em loops. E já que são tão utilizados – justamente por serem tão indispensáveis -, é mais do que importante fazer loops PHP de ótima performance.
Especifique previamente uma variável para loops “for”
Uma coisa muito comum de se fazer quando se está programando em PHP é pegar a quantidade de “qualquer coisa” e, com ela, realizar um loop for para realizar outra “qualquer coisa”. E são muitos os programadores que, por falta de conhecimento ou preguiça, fazem isso:
1 2 3 |
for ($i = 0; $i <= mysql_num_rows($resultado); $i++) { [codigo] } |
Quando, na verdade, isso acarreta em um processamento extra para cada iteração. Especificando previamente e colocando numa variável quantas vezes o looping vai acontercer, a carga de processamento fica menor e, consequentemente, seu código fica otimizado:
1 2 3 4 |
$total = mysql_num_rows($resultado); for ($i = 0; $i <= $total; $i++) { [codigo] } |
Otimização de variáveis e funções
Desnecessário comentar sobre a importância de variáveis e funções em um script PHP, por mais simples que seja. Otimizar funções e variáveis é mais que necessário, caso se esteja buscando um desempenho excelente. Essas são dicas rápidas e eficientes:
- Utilizar require ao invés de require_once;
- Usar caminhos absolutos ao invés de relativos em “includes”, “requires” e afins é melhor (embora possa gerar algum inconveniente futuro, por razões óbvias);
- “else / if” é mais rápido que “switch / case “;
- Incrementar uma variável local é quase 100% mais lento quando não se a especifica previamente.
Mais sobre otimização de códigos PHP
É de se imaginar que, pela “tradição” que tem o PHP e a extensão que lhe é característica, estas dicas rápidas não encerram o assunto. Para muitas outras dicas de como otimizar seus códigos em PHP, considere ler os seguintes artigos (em inglês):
E você, tem alguma dica para otimizar seu código PHP?