Buenas Prácticas de Desarrollo Web en PHP

Me gustaría recomendarles algunas cosas a las personas que desarrollan con PHP:

1.- No utilicen las etiquetas cortas de PHP. Si lo hacen tendran que lidiar con que su código no sea portable. Las etiquetas de PHP son

<?php \\Here your code; ?>

1.1 Desde PHP5.4 se activa por defecto la etiqueta corta para impresión de variables ya que esta caracterítica ya no depende de la opción short_open_tag:

<?= $fooVar ?>

De resto, si no utilizas PHP5.4 o superior, utiliza la forma no abreviada:

<?php echo $fooVar; ?>

2.- En la Vista, así vayan a imprimir una variable terminen siempre la línea de código  con punto y coma (;).

3.- Si no utilizan un framework como Symfony2 y necesitan hacer uso de los “require_once” utilicen url absolutas como argumento a esta función.

Ejemplo:

    require_once($_SERVER['DOCUMEN_ROOT'].
                 DIRECTORY_SEPARATOR.
                 'modelo'.
                 DIRECTORY_SEPARATOR.
                 'usuarios.php');

// Esta es una opción. Hay muchas formas de obtener url absolutas.

4.- Utilicen por favoooooor en lo posible, programación orientada a objetos (POO) y no mezclen su código POO con programación estructurada.

5.- Si van a imprimir una cadena de texto que no posee dentro ninguna variable coloque esa cadena de texto entre comillas simples, esto hace que su código sea más óptimo.

6.- Utilicen por favooooor en lo posible, el patrón de diseño Modelo, Vista, Controlador (MVC) bien hecho. Con esto quiero decir:

6.1.- El modelo es la única sección del programa que debe contener código de consultas a base de datos o webservices. No debe haber nunca un “SELECT, INSERT, UPDATE…” a la base de datos en medio de un código HTML (Vista)

6.2.- La vista solo debe contener eso mismo vista, código de interfáz gráfica de usuario. es decir solo HTML5, importaciones de archivos javascript y css3. Con respecto al código PHP que es esta debe de llevar, solo de llevar impresiones de variables y solo lógica de bucles o pocas validaciones.

6.3.- El controlador es el que maneja todas las peticiones. Les recomiendo que tengan un controlador frontal y que este llame a los verdaderos controladores de acuerdo al recurso que se esté requiriendo por parte de usuario mediante una petición ya sea GET, POST o incluso GET y POST mediante AJAX.

6.4.- Para interactividad javascript de la vista, utilicen solo una librería de javascript. Les recomiendo jQuery. ¿Qué no puede hacer jQuery?.

6.5.- Para los estilos de la vista, utilicen responsive design, la forma más fácil de hacer esto es, usando “twitter bootstrap”.

7.- Empiecen a hacer uso de los namespaces en PHP.

8.- Si quieren evitarse problemas, utilicen un framework serio como Symfony2 o Yii. No framework que te hacen trabajar doble como Cake, CodeIgniter entre otros…

9.- En cuanto a los editores, déjenle Dreamweaver a los diseñadores y a los noobs, los programadores, usamos Netbeans, (Si tienes una buena pc), ZendStudio For PHP y PHPStorm(Si tienes una buena pc y tienes Real), TextMate(Para mac), SublimeText2 (El mejor), boten si lo tienen, eclipse entre otras porquerias derivadas que hay por allí.

10.- Si utilizan SublimeText2 no se olviden de instalar el Package Control. Esto les permitirá instalar nuevos temas, snippets (ayuda de generación de código y autocompletado) y otros plugins.

11.- Si utilizan ajax con jquery no utilicen la función $.post ni $.get lo recomiendan los que más saben, además la función $.ajax te da mucha más flexibilidad para efectuar una petición XMLHTTPRequest. Utilicen $.ajax(); Ejemplo:

$.ajax({
    type: "POST",
    dataType: "html",
    data: mis_datos_serializados,
    url: url_controller,
    success: function(datos){
        $("#"+div_string).html(datos).fadeIn("slow");
    }
});

12.- Por el amor a sus padres, hagan uso del control de versiones. Les recomiendo GIT.

13.- Definan las variables antes de utilizarlas, así sea con null, pero, definanlas primero antes de imprimirlas, asignarlas, o pasarlas como argumento a algún método o función PHP…

14.- Documenten el puto código.

15.- El más importante, SEAMOS HUMILDES, ACEPTEMOS CRÍTICAS y ERRORES PROPIOS. SOMOS HUMANOS. APRENDEMOS, EJECUTAMOS,  ERRAMOS, RECTIFICAMOS y SOLUCIONAMOS. Humildad ante todo.

Variables útiles de PHP -> http://tednologia.com/10-utiles-variables-de-servidor-en-php/

jQuery, Framework Javascript -> http://jquery.com/

Twitter Bootstrap -> http://twitter.github.com/bootstrap/