17 consejos para optimizar código PHP

  1. Variables: No declares variables que no se vayan a usar ya que ocupan memoria. Utiliza constantes para aquellos valores que serán fijos a lo largo de la ejecución. A la hora de declarar variables siempre es preferible usar variables estáticas. Intenta evitar el uso de variables globales.
  2. Unset: Aunque PHP dispone de un Garbage Collector (liberador de memoria) no esta de mas usar la función unset para eliminar variables y aumentar la memoria disponible, sobretodo cuando se usan arrays o variables extensas en servidores limitados.
  3. Comparaciones: Los switch / case usan mas ciclos de procesador que los if / else, por lo tanto usa estos últimos siempre que puedas.
  4. Bucles: Un bucle for es mas lento que un while, que a su vez es mas lento que un do..while. Debes evitar que la condición de parada de tus bucles sea una función, mejor una variable donde se guarde el valor de la función previamente. Revisa tus bucles y elimina aquellos que realmente no son necesarios.
  5. Inclusiones: Aunque las funciones include_once() y require_once() son muy útiles para evitar cargar el mismo script repetidas veces, su costo es muy alto. Revisa tu código e intenta usar include() y require() en su lugar.
  6. Utiliza HTML antes que PHP: Cuando tengas que escribir código HTML evita usar funciones PHP, como echo o print, salvo en casos en que sea indispensable.
  7. Comillas en PHP: Usa siempre que puedas las comillas simples ya que a diferencia de las dobles, que interpolan los valores de las variables, estas solo interpretan literales, con la consiguiente mejora de procesamiento. Además debes evitar el uso del símbolo del dolar sin escapar (\$) entre comillas dobles ya que ralentiza el código enormemente.
  8. Comprobar existencia de variables: Cuando se necesite verificar la existencia de variables usaremos isset() antes que empty() o is_array(), ya que la primera es la mas eficiente.
  9. Operador ===: Cuando compares dos variables del mismo tipo intenta evitar el operador ===, ya que a diferencia de == que solo compara valores, este además compara el tipo de variable.
  10. Reporte de errores: Para usar el máximo nivel de error en tu log del debug usa E_STRICT como nivel de error.
  11. Memoria y velocidad: Para comprobar la velocidad y la memoria que consume tu código te serán útiles las funciones memory_get_usage() y microtime().
  12. Muchas funciones tienen un alias. Evita usar estos y llama directamente a la función original. Aquí tienes algunos alias(derecha) y su correspondiente función (izquierda):
    • die -> exit
    • diskfreespace -> disk_free_space
    • fputs -> fwrite
    • chop -> rtrim
    • ini_alter -> ini_set
    • strchr -> strstr
    • sizeof -> count
    • close -> closedir
    • is_writeable -> is_writable
    • join -> implode
    • pos -> current
    • dir -> getdir
    • rewind -> rewinddir
  13. Incrementos: Cuando sea posible, siempre que incrementamos una variable usaremos el modo del modo ++$i(primero incrementa luego usa) antes que $i++(primero usa luego incrementa), ya que el primero usa 3 opcodes a diferencia de los 4 del segundo.
  14. Imprimir textos: Siempre que tengas que imprimir texto en PHP, usa la función echo antes que print. La primera es mas rápida.
  15. Expresiones regulares: Intenta usar regexp solo cuando sea necesario, ya que aunque ahorran trabajo, su procesado es mas lento.
  16. Separaciones: Es conveniente usar explode() antes que split(), ya que esta ultima permite el uso de expresiones regulares y la primera no.
  17. Random: Para generar valores aleatorios usaremos las funciones de la familia mt_rand() que utiliza un algoritmo de Mersenne Twister mucho más rápido y eficiente que la típica rand().
Formato: 
txt