Dos consejos para agilizar la escritura de código PHP (y su rendimiento)

Dos consejos para agilizar la escritura de código PHP (y su rendimiento)

Modificar valores de un array en un bucle foreach

Algo sumamente sencillo, que puede hacerse a partir de PHP 5, es modificar los valores de un array pasándolos como referencia. De esta forma se evitan grandes bloques de código y se agiliza el rendimiento.

$nombres = array('JUAN', 'José', 'ANA', 'Margarita', 'Lautaro', 'Emilia');

foreach($nombres as &$nombre) {
  $nombre = strtolower($nombre);
}

print_r($nombres);

/* Salida:
Array
(
  [0] => juan
  [1] => josé
  [2] => ana
  [3] => margarita
  [4] => lautaro
  [5] => emilia
)
*/

Modificar variables globales evitando el uso de global y $GLOBALS

Utilizar el paso de variables por referencia nos ayuda también a modificar variables globales, evitando tener que declararlas como globales (global) dentro de un método o función, o recorriendo el array $GLOBALS.

Esta “técnica” puede utilizarse tanto en funciones como en métodos de clase, ¿cómo? Veamos los siguientes ejemplos:

$variable_global = 'Contenido de mi variable global';

function modificar_variable_global(&$variable) {
  $variable = 'Variable global modificada';
}

modificar_variable_global($variable_global);
print $variable_global; // salida:  Variable global modificada

Tambien podemos usarlo como método de una clase:

$variable_global = 'Contenido de mi variable global';

class MiClase {
  //...

  function modificar_variable_global(&$variable) {
    $variable = 'Variable global modificada desde un método de clase';
  }

  //...
}

$obj = new MiClase();
$obj->modificar_variable_global($variable_global);
print $variable_global;
// salida:  Variable global modificada desde un método de clase
¡¡ Comenta este artículo en los foros !!
comenta

Deja un comentario en: “Dos consejos para agilizar la escritura de código PHP (y su rendimiento)

  • 16 de agosto de 2011 en 5:55 am
    Permalink

    Muy buenos tips para mejorar el rendimiento :)

Los comentarios están cerrados.