Melhores de 2014 – Código bom é código performático
Separei 10 dicas de otimização de código para ajudar no aumento de performance.
Todo desenvolvedor precisa ter a consciência de que é preciso otimizar o código desde o início da codificação. Seguir boas práticas de codificação é o ponto de partida para escrever um código otimizado e legível.
Separei 10 dicas de otimização de código para ajudar no aumento de performance.
1. Use funções nativas do PHP
Sempre que possível, utilize as funções nativas do PHP↳PHP44 conteúdosPadronizando seu código com PHP CS FixerDev (Back & Front) · mai 2019Docker de imagem. Para rodar projetos PHP em menos de 30 segundosDev (Back & Front) · jan 2026PHP 7.3: conheça as novidades desta versãoDev (Back & Front) · abr 2019Ver tudo em Dev (Back & Front) → ao invés de escrever suas próprias funções para atingir o objetivo. Caso ainda não esteja totalmente familiarizado com a linguagem, procure no manual se a função que você quer existe.
2. Prefira utilizar aspas simples
Aspas simples ( ‘ ) é mais rápido que aspas duplas ( “ ). Quando você usa a aspa simples entende-se que o conteúdo é um string, porém quando você utiliza aspas duplas, o compilador verifica se existe a presença de alguma variável dentro da string e isto adiciona uma sobrecarga desnecessária.
3. Use funções de string apropriadas
A função str_replace é mais rápida que o preg_replace, mas a strtr é quatro vezes mais rápida que a str_replace.
4. Defina o valor para a variável
Por exemplo, o seguinte irá degradar o desempenho.
for ($ i = 0; i <count($num); $ i + +) {
echo $num;
}
O script abaixo terá um desempenho muito melhor.
$total = count($num);
for ($ i = 0; i <$total; $ i + +) {
echo $total;
}
5. Não crie Classes sem necessidade
Não crie Classes e Métodos até que seja realmente necessário e principalmente que possam ser reutilizados.
6. Use técnicas de caching
Utilize cache para reduzir as conexões/carga ao banco de dados↳Banco de dados134 conteúdosSQL ou NoSQL: eis a questão!!Data · mar 2020Banco de dados: como organizar e dar segurança para milhões de dados de loteriasData · mai 20215 serviços gratuitos na cloud para bancos de dados PostgresData · fev 2025Ver tudo em Data → e a compilação script. Uma boa opção para reduzir as conexões/carga ao banco de dados é o Memcache e o APC para o cache opcode e otimização do código intermediário.
7. Feche a conexão
Adquira o hábito de fechar a conexão com o banco de dados; isto economiza memória.
8. Reduza os acessos ao BD
Reduza a quantidade de acessos ao banco de dados. Faça consultas utilizando o menor número de conexões possível. Por exemplo:
$con = mysql_connect ("localhost", "username", "senha", "database");
if (mysql_connect_errno ())
{
echo "Falha ao conectar ao MySQL";
mysql_connect_error ();
}
function insertValue ($ val) {
mysql_query( "INSERT INTO Table ( $val )" );
}
for ($ i = 0; $ i <99; $ i + +) {
// Invocando a função para inserir os dados
insertValue $(i);
}
// Fechando a conexão como a melhor prática!
mysql_close ($con);
O script acima é muito mais lento do que o script abaixo:
$con = mysql_connect ("localhost", "user", "passwd", "database");
if (mysql_connect_errno ())
{
echo "Falha ao conectar ao MySQL";
mysql_connect_error ();
}
function insertValues ( $val ) {
// Inserindo com todos os 99 valores, utilizando apenas um INSERT.
$ query = "INSERT INTO Table ( ".implode(',', $ val)." )";
mysql_query ($con, $query);
}
$dados = array();
for ($ i = 0; $i<99; $ i + +) {
// Criação do vetor com os dados.
$ dados[] = $i;
}
// Invocando a função para inserir os dados
insertValues ($ dados);
// Fechando a conexão como uma boa prática!
mysql_close ($con);
9. Use JSON
Use JSON em vez de XML sempre que trabalhar com aplicativos web. Existem funções nativas no PHP para trabalhar com JSON, como json_encode () e json_decode () e estas funções são extremamente rápidas.
10. Use Isset
Sempre que possível, use isset () em vez de usar strlen(), count(), ou sizeof() para verificar se o valor retornado é maior que 0. Por exemplo, você tem uma função que retorna uma variável, quer verificar se possui valores ou não, use o seguinte:
if ( isset($returnValue) ) {
// Fazer algo aqui
}
Neste caso, use o bloco de código acima, em vez de o seguinte:
if (count($returnValue) 0) {
// Fazer algo aqui
}






