martes, 7 de agosto de 2012

Utilizar lenguaje de servidor en CSS

La personalización de los estilos es una característica cada vez más usada en la actualidad. Cada usuario quiere escoger las imágenes y colores que aparecen en su interfaz y por ello, el desarrollo se debe ajustar a esas necesidades. Huyendo de ineficientes estilos en línea, esta vez vamos a introducir lenguaje de servidor (PHP) en las hojas de estilo CSS para lo cual se requieren varios pasos:

1.- Cambiar la extensión de nuestra hoja de estilo (*.css a *.php) y modificar nuestras referencias a ese script en nuestras páginas.

<link rel='stylesheet' type='text/css' href='css/estilos.php' />

2.- En la parte superior de la hoja de estilo indicamos que se trata de un script CSS.

<?php 
    header("Content-type: text/css; charset: UTF-8"); 
?>

3.- Incluir código de servidor en la hoja de estilo ya es posible.

....
<?php
   $colorBordes = "#D69924"; 
?>

#header {float:right; position:relative; width:766px; border: 1px solid <?php echo($colorBordes);?>;}
...

Aparte de la posibilidad de personalizar la apariencia para el usuario, este consejo nos permite generar interfaces en varios idiomas sin tener que duplicar el código, facilitanto la actualización de nuestra aplicación.

miércoles, 1 de agosto de 2012

¿Cómo optimizar tus scripts de PHP?


Mejorar el rendimiento de tu código es una de las responsabilidades de un programador. Cada decisión a la hora de elaborarlo es importante para optimizar el tiempo de carga y el rendimiento de la aplicación, clave para la satisfacción del usuario, por lo que, en esta ocasión, vamos a recopilar una serie de consejos para mejorar el rendimiento de tus scripts de PHP.

Declara correctamente tus variables: puedes condensar líneas de código fácilmente.

$var1 = "";
$var2 = "";
$var3 = true;
$var4 = true;
$var1 = $var2 = "";$var3 = $var3 = true;




Olvida setName() y getName(): asignar y leer una propiedad directamente es el doble de rápido.


$usuario = nuevo usuario();
$usuario->setName('juan');
echo $usuario->getName();
$usuario = nuevo usuario();
$usuario->name = 'juan';
echo $usuario->name;

No declares variables sin sentido: de nada sirve copiar variables predefinidas para hacer el código más fácil. Ralentizará tu código.


$descripcion = strip_tags($_POST['descripcion ']);
echo $descripcion;


Optimiza tus sentencias if(): puedes condensar líneas de código fácilmente.


if ($variable == 1) {
$valor = true;
} else {
$valor = false;
$valor = ($variable == 1) ? true:false;




Evita las consultas dentro de un bucle: reorganiza tu código para hacer una única consulta.

($i=0; $x < count($array); $i++) {
       ...
}
Evita usar funciones dentro de un bucle: si son evitables, están mejor fuera del bucle. Es mejor implementar una variable que se vaya acumulando.

foreach ($user in $list) {
    $query = 'INSERT INTO users...';
    mysql_query($query);
}
Utiliza funciones eficientes:
  • $_SERVER['REQUEST_TIME'] es más rápida que time().
  • strtr()es cuatro veces más rápida que str_replace(), ambas son más rápidas que preg_replace().
  • $reg['id'] es casi ocho veces más rápido que $reg[id].
  • checkdnsrr()es la mejor opción para validar direcciones de correo electrónico.
  • $var === "" es más rápido que empty(), ambos son más rápidos que $var == "".

 Curiosidades a tener en cuenta:
  • Modificar una variable global es dos veces más lento que hacerlo con una local mientras que odificar una propiedad de un objeto es tres veces más lento. 
  • Las cadenas con comilla simple (') son más rápidas que con comilla doble (") en versiones previas a PHP 5.0. Es más rápido mostrar cadenas concatenándolas con comas (,) que con puntos (.).
  • En las sentencias switch() ordena las opciones de frecuente a menos frecuente. El bucle for es más rápido que do-while, que a su vez es más rápido que while.
  • Compilar comentarios en una línea o eliminarlos no afecta a la velocidad de ejecución del código.
  • Conectar con direcciones IP es más rápido que hacerlo con nombres de dominio.