Programación PHP orientada a objetos, con separación por capas y Smarty.

A continuación veremos el primer tutorial de programación php de una serie de muchos tutoriales, que explicara detalladamente “una forma” “mi forma” de programar tanto páginas web, como software y herramientas para la web.

El gran problema en el mundo actual en el desarrollo de software y de webs en php, es que cada quien programa “como se le da la gana” no hay una serie de lineamientos ni bases que permitan rehusar fácilmente el código de otro programador en nuestros trabajos, muchas veces ni siquiera podemos rehusar nuestro propio código y repetimos varias veces las mismas líneas y los mismos pedazos de códigos, por lo cual muchas veces es mas el tiempo que gastamos intentando reconstruir el código de otras personas, que el tiempo que hubiésemos gastado creando una pieza o herramienta desde 0 sin mirarle a nadie.

Además de no entender el código ni la forma de programar de los demás, otra gran desventaja es que el trabajo en equipo se vuelve muy complicado y al final una sola persona termina desarrollando todo el producto; por lo cual seguir un mismo lineamiento se vuelve supremamente efectivo para el desarrollo en equipo y para comprender todas las extensiones del php.

Otro gran problema en el desarrollo php, es que los programados tienden a hacer del código un “vomito” juntan diferentes lenguajes en un solo archivo, juntan php con html, php con javascript, con css, con consultas sql con ajax y el código aunque funciona se vuelve perversamente inentendible.

Por lo tanto he decidido explicar un método que junto con un profesor de la universidad nacional de Colombia (Fernando Arango) y un grupo de programadores php, hemos venido desarrollando durante los últimos años.

Anteriormente para desarrollar una página o software me podía demorar varios meses, hoy en día con estos métodos en cuestión de 1 o 2 semanas o incluso días se tendrá lista una página o software.

1) ¿Por qué usar PHP?

Porque casi todos los servidores lo traen instalado y al navegador le llega simplemente el html que ya sabe interpretar, no es como java o c++ donde necesitas instalar en cada computador ese programa y verificar que si funcione; porque indexa muy bien en los buscadores, rápidamente se difunde en la web y hace que nuestras páginas aparezcan ahí; porque está muy bien documentado existen miles y miles de tutoriales en la web y ha mostrado muy buen desempeño y es un lenguaje de fácil entendimiento además de que se integra muy bien con otros lenguajes como javascript, css, entre otros.

2) ¿Que es la separación por capas?

La separación por capas, son una serie de reglas, una serie de divisiones que se le da al código, más adelante se detallara muy bien este punto; el caso es que vienen a ser unos “mandamientos” que se deben cumplir para garantizar un código reutilizable funcional y al que se le puede hacer mantenimiento.

En el caso más simple la separación por capas viene dada del siguiente modo:

2.1) Capa gestor: es la capa en la cual va la conexión a la base de datos y todas las consultas y funciones que adicionan, editan, eliminan o recuperan datos de la base de datos; en nuestro caso será un archivo llamado gestor.php
2.2) Capa controlador: es la capa intermedia que manda peticiones y datos a la capa gestor y que decide que es lo que se muestra por pantalla y que no se muestra. En nuestro caso sería por ejemplo un index.php en este capa jamás ira un código html.
2.3) Capa vista: es la capa que muestra los datos por pantalla, son los templates o archivos html, se conectan solo con la capa controlador, jamás se pueden conectar con la capa gestor, aquí NUNCA abra una sola línea de código php, siempre será html, y además se complementara con Smarty que mas adelante analizaremos que es.

Muchas veces entre la capa del controlador y gestor se agrega la capa objetual, pero vamos a ver qué dependiendo del programa es o no necesaria, por el momento olvidémonos de este capa y trabajemos solo con las 3 capas anteriores.

Más adelante mostraron un ejemplo muy sencillo del funcionamiento de estas capas, para darle mayor comprensión al programador.

3) ¿Que es Smarty?

Smarty es la herramienta clave para poder hacer la separación por capas, simplemente permite al programador separa el código php del html y usar una serie de etiquetas smarty; es un lenguaje supremamente sencillo, y en mi opinión en vez de complicar las cosas (porque algunos piensan que manejar otro lenguaje es complicar las cosas) facilita tremendamente que el código sea más claro y más sencillo.

4) ¿Que es programación orientada a objetos?

Es simplemente una forma de programar donde se usan clases, métodos y funciones; mas adelante veremos los tips o claves de nuestro método de programación.

En el próximo tutorial que estoy creando, veremos ahora si un ejemplo de un código del desarrollo mas básico de un programa con nuestro método.

NOTA: DEBIDO A QUE EN LOS ÚLTIMOS MESES HE MEJORADO EL FORMATO DE PROGRAMACIÓN, LES RECOMIENDO VISITAR PRIMERO ESTE ENLACE: AQUI

Ir al tutorial 2 ->