Vous êtes sur la page 1sur 1

Roger8a

17 CONSEJOS PARA OPTIMIZAR CDIGO PHP

1. Variables: No declares variables que no se vayan a usar ya que ocupan memoria. Utiliza constantes para aquellos valores que sern fijos a lo largo de la ejecucin. A la hora de declarar variables siempre es preferible usar variables estticas. 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 funcin 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 ms ciclos de procesador que los if / else, por lo tanto usa estos ltimos siempre que puedas. 4. Bucles: Un bucle for es ms lento que un while, que a su vez es ms lento que un do..while. Debes evitar que la condicin de parada de tus bucles sea una funcin, mejor una variable donde se guarde el valor de la funcin 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 cdigo e intenta usar include() y require() en su lugar. 6. Utiliza HTML antes que PHP: Cuando tengas que escribir cdigo 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. Adems debes evitar el uso del smbolo del dolar sin escapar (\$) entre comillas dobles ya que ralentiza el cdigo 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 adems compara el tipo de variable. 10. Reporte de errores: Para usar el mximo 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 cdigo te sern tiles las funciones memory_get_usage() y microtime(). 12. Muchas funciones tienen un alias. Evita usar estos y llama directamente a la funcin original. Aqu tienes algunos alias(derecha) y su correspondiente funcin (izquierda): o die -> exit o diskfreespace -> disk_free_space o fputs -> fwrite o chop -> rtrim o ini_alter -> ini_set o strchr -> strstr o sizeof -> count o close -> closedir o is_writeable -> is_writable o join -> implode o pos -> current o dir -> getdir o 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 funcin echo antes que print. La primera es mas rpida. 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 ms rpido y eficiente que la tpica rand().