Google ha creado un website dedicado a promover la mejora del rendimiento de la web, el site ubicado en esta URL http://code.google.com/speed/, nos presenta información diversa sobre como de una manera comunitaria, los webmaster podemos hacer la web más rápida. Google no solo propone la adopción de nuevos estándares, pues los actuales fueron desarrollados en una época en que la web aún estaba en su infancia, sino que además recomienda algunas prácticas de programación que permiten hacer las aplicaciones web más rápidas.
De esas mejores prácticas recomendadas por Google, me he permitido traducir/resumir estos tips para hacer las aplicaciones desarrolladas con PHP, lenguaje que uso principalmente para desarrollar mis proyectos web, mucho más eficientes en el uso de los recursos del webserver y como consecuencia más rápidas. El artículo original se llama "PHP performance tips", y ha sido escrito por Eric Higgins uno de los webmasters de Google.
Aquí las recomendadiones:
No copiar variables, si no es necesario.
Algunas veces los novatos en su afan de hacer el código más legible copian variables predefinidas para tener nombres más cortos, esto es malo pues necesitaremos el doble de memoria. Por ejemplo:
MAL: $descripcion = $_POST[‘descripcion’]; echo $descripcion;
BIEN: echo $_POST[‘descripcion’];
Usar comillas simples para las cadenas de texto.
Los interpretes PHP permiten mostrar cadenas de texto con comillas simples o dobles, pero tienen un significado distinto. Las comillas dobles le indican al interprete que revise el contenido y reemplace el valor de las variables, así que si una cadena no contiene ninguna variable es mejor usar comillas simples. Una buena practica es usar concatenación en lugar de comillas dobles. Por ejemplo:
MAL: $output = "Esta es una cadena de texto plano";
BIEN: $output = ‘Esta es una cadena de texto plano‘;
MAL: $type = "mixta"; $output = "Esta es una cadena $type";
BIEN: $type = ‘mixta’; $output = ‘Esta es una cadena ‘ . $type;
Usar echo en lugar de print.
Usar la función echo en lugar de print ofrece más confiabilidad al código y en el siguiente código de ejemplo una mayor performance:
MAL: <?php print($myVariable); ?>
BIEN: <?php echo $myVariable; ?>
No utilizar concatenación dentro de echo.
Muchos programadores novatos no estan concientes de que se puede pasar varias variables a echo separandolas por comas, en lugar de concatenarlas. Usar el punto para concatenar cadenas en el ejemplo a continuación resulta en un pobre prerformance, porque el intérprete PHP debe primero concatenar todas las variables juntas y entonces imprimir el resultado, sin embargo en el segundo ejemplo, el intérprete las imprime todas en el orden dado.
MAL: echo ‘Hola, mi nombre es ‘ . $firstName . $lastName . ‘ y yo vivo en ‘ . $city;
BIEN: echo ‘Hola, mi nombre es ‘ , $firstName , $lastName , ‘ y yo vivo en ‘ , $city;
Utilizar switch/case en lugar del if/else.
Utilice la sentencia switch/case en lugar de la sentencia if/else para una comprobación que involucre una sola variable, esto resultará en una mejor performance y hara el código más fácil de mantener.
BAD: if($_POST[‘action’] == ‘add’) { addUser(); } elseif ($_POST[‘action’] == ‘delete’) { deleteUser(); } elseif ($_POST[‘action’] == ‘edit’) { editUser(); } else { defaultAction(); }
GOOD: switch($_POST[‘action’]) { case ‘add’: addUser(); break; case ‘delete’: deleteUser(); break; case ‘edit’: editUser(); break; default: defaultAction(); break; }
Buenas, he consultado la fuente de google developer que citas en el artículo, pero ahí he encontrado sólo parte de los consejos que das, por ejemplo, el tema de "No utilizar concatenación dentro de echo." ¿podrías citar la fuente de la que lo conseguiste?, La verdad que me suena haberlo visto alguna vez en alguna fuente aparte de en esta web… De cualquier modo gracias por compartir ideas y un saludo!
Jesús
Hola Jesús.
El post es bastante viejo del 2009, y cuando yo lo escribí el link al artículo de Google decía justamente eso, he encontrado otra fuente que se basó en el mismo artículo y cita las mismas sugerencia:
http://charleskong.com/blog/2009/06/tips-for-writing-effective-php-code
Es decir Google ha modificdo sus consejos a lo largo de los años.