‹ Inicio

20 May 2010

buenas prácticas para el desarrollo en php-I

Escribo este post, para compartir con la comunidad algunos de los trucos y claves que usamos para el desarrollo ágil de aplicaciones en php. Algunos os sonarán raros, otros os serán familiares y otros os parecerán completamente inapropiados. Los publico aquí, para ya de paso, producir un poquito de debate.

Register Globals.

De lo mas importante. Trabajar siempre con register_globals off. ¿Por que? Porque las variables globales no son buenas amigas. Y mucho menos en cualquier desarrollo medio donde lo que nos interesa es tener espacios de memoria, individuales y perfectamente troceados.

Además, nunca te debes de fiar, de las entradas vía web. Quiero decir, que debes de filtrar, todas las entradas a la aplicación. Es mucho mas limpio, usar los arrays $_GET, $_POST, $_SERVER. Véase, la función filter_vars Con ella realizar filtrado de los datos esperados es perfecto!

dirname(FILE)

Esto nos retornará el path actual de la aplicación. Normalmente creamos una constante, define('APP_ROOT', dirname(FILE)) que contiene el directorio raiz de la aplicación.

Includes PATH. Búsqueda de paths

set_include_path()

Con dicha instrucción, controlamos los paths, directorios, carpetas, donde el php, intentará cargar includes. Con get_include_path, nos retorna un string, con la lista de paths que actualmente están en la apliacación.

Función redirect()

Disponer de una función redirect, es facil e importante:

function redirect( $url ) {
   header('Location: '. $url);
   exit;
}
De esta forma y en cualquier momento, si el usuario hace una operación que no nos interesa le podemos redirigir...

Redirect después de acción por POST.

Tan importante como usar buenos espacios de memoria en la aplicación, es el uso de verbos de HTTP. Sin llegar a pensar en REST, pero si, intentar, que cualquier, carga de datos o midificación de datos en vuestra aplicación, funcione mediante POST. Y además, es igual de importante que siempre, después de guardar un formulario en la base de datos, realizar un redirect, a otra dirección. De esta forma, si el usuario, hace reload de la página, esta ya no se grava dos veces en la base de datos.

En próximas entregas

  • Vistas super fáciles
  • Objetos de datos con PDO
  • Cache con APC
  • Router, rutas y htaccess

Comentarios:

blog comments powered by Disqus

© Creative Commons. jordic+gmail.com. Blog programado en Django usando django-basic-apps.