Hola a tod@s,

Hoy continuamos con nuestro curso que dejamos con su séptima entrega, Desarrollo Web con PHP y MySQL (VII), donde estuvimos las estructuras de control de flujo de los programas en PHP.

Estuvimos viendo los diferentes tipos de estructuras, y vimos que se clasificaban en 3 grandes grupos: Los condicionales, los bucles y los saltos.

A parte de ver las diferentes estructuras de cada categoría, vimos ejemplos de cada una de ellas, así como nuevas funciones PHP para la validación de formularios HTML.

En el ejemplo que vimos (Ejemplo de envío de formulario), aplicamos las funciones que habíamos visto y pudimos comprobar cómo trabajaba PHP con las nuevas funcionalidades y métodos aprendidos.

Hoy continuaremos con el estudio de las Aplicaciones Web en PHP.

Siguiendo la numeración de capítulos, hoy continuamos con el capítulo 10.

10. Aplicaciones Web

Se denomina aplicación web a aquellas herramientas que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicación software que se codifica en un lenguaje soportado por los navegadores web en la que se confía la ejecución al navegador.

Las aplicaciones web son populares debido a lo práctico del navegador web como cliente ligero, a la independencia del sistema operativo, así como a la facilidad para actualizar y mantener aplicaciones web sin distribuir e instalar software a miles de usuarios potenciales. Existen aplicaciones como los webmails, wikis, weblogs y tiendas en línea  que son ejemplos bien conocidos de aplicaciones web.

10.1 Crear Plantillas

Ciertas características en PHP, tal como el diseño HTML, se utiliza para cada página dentro de un sitio web. Podemos poner todos estos elementos dentro de cada página individual, pero cuando necesitamos hacer un cambio, lo tendríamos que hacerlo por todas las páginas.

Para ahorrar tiempo podemos crear plantillas que separan el contenido de la estructura de la página.

Lo que se hace es crear un prototipo y después dividirlo en partes.

Ejemplo de Plantilla

Nota: Lo escrito entre <!– y –> son comentarios, que solo saldrán en el código, y no en la página.

Aunque hemos definido así la Cabecera, el Cuerpo y el Pié de Página de nuestra Web, gracias a HTML5, nos facilita el trabajo gracias a las nuevas etiquetas <header></header> y <footer> </footer>:

La etiqueta <header></header> especifica una introducción, o un grupo de elementos de navegación para el documento. Y la etiqueta <footer>…</footer> define el pie de página de una sección o documento. Por lo general contiene el nombre del autor, la fecha en que fue escrito el documento y/o información de contacto.

Nosotros vamos a hacer la plantilla por partes, es decir, vamos a hacer una página para la cabecera y otra para el pié de página en PHP.

Así entre estas dos, tendremos el cuerpo de la web en PHP.

Cabecera(cabecera.html)

Pié de Página(piedepagina.html)

10.2 Utilizar archivos externos

Para poder insertar dentro de las páginas PHP las páginas separadas por elementos particulares o plantillas, disponemos de 2 funciones:

  • include();
  • require();

Estas 2 funciones son equivalentes, es decir, realizan la misma función.

Estas funciones insertan el archivo al cual se hace referencia desde el archivo principal.

Podemos utilizar estas funciones en diferentes situaciones como por ejemplo:

  • Incluir Plantillas
  • Incluir Funciones
  • Incluir información de acceso a una BBDD (Base de datos)

Con las 2 plantillas anteriores en HTML, vamos a ver un ejemplo de plantilla PHP para incluir esas plantillas a nuestro PHP principal utilizando una de las funciones que hemos visto.

Ejemplo incluir plantilla HTML en una página PHP

La estructura de carpetas del proyecto o sitio web serán como en el siguiente diagrama:

Plantilla PHP(plantilla.php)

10.3 Utilizar formularios HTML con PHP

Hasta ahora, siempre hemos utilizado 2 páginas o Scripts por separado para manejar formularios con PHP:

  • Una página HTML que nos muestra el Formulario
  • Una página PHP que procesaba la información introducida en el Formulario HTML

Con PHP podemos hacer que una página PHP muestre i procese el formulario a la vez utilizando las estructuras de control (¡vistas en la anterior entrega del curso!):

Un ejemplo, sería comprobar la condición de si se ha pulsado el botón de ‘Enviar’ o no el Formulario:

 Ejemplo Control de Acceso de Usuarios en PHP

10.4 Buffer de Salida

El Buffer de Salida en PHP es el paso intermedio entre script PHP y el resultado del navegador.
En un script PHP, si tenemos abierto el buffer de salida, las etiquetas HTML que incorporamos y todas las salidas se colocarán en el buffer, y cuando finalice el script, el contenido de este se escribirá al navegador.

El tamaño del buffer de salida es de más o menos 4096 Bytes, es decir, se puede introducir un máximo de 4MB de código PHP pero se puede configurar para soportar más!( EasyPHP -> Configuración -> PHP ->php.ini).

Tenemos varias funciones PHP para trabajar con el buffer de salida:

  • ob_start(): Sirve para indicar al Script que se ha de iniciar el buffer de salida, es decir, se comienzan a guardar las salidas, en lugar de enviarlas directamente al navegador.
  • ob_end_flush(): Sirve para indicar que se quiere enviar el contenido del buffer al navegador.
  • ob_end-clean(): Sirve para eliminar los datos acumulados en el buffer.

Ejemplo de uso del Buffer de Salida en PHP

Aquí tenéis un enlace a la web php.net en donde encontraréis más información y más funciones sobre el Buffer de salida, que ellos llaman “Funciones de control de salida“.

10.5 Manipular encapsulados HTTP

Un encapsulado HTTP, es un protocolo de transferencia que se utiliza para enviar información de ida y de vuelta entre servidor y cliente (navegador web).

Una de las maneras con las cuales podemos trabajar con encapsulados es redireccionar al usuario de una página a otra.

Para hacer esto, utilizaremos la función PHP header();

header()

Sirve para insertar una referencia a una página web externa que nos redirigirá a ella, i no como include() o request() que se ejecuta en nuestra página.Se utiliza location para referenciar la web:

 Ejemplos de uso de header()

En el código anterior miramos lo que sucede:

  1. La 1ª vez que entramos en esta página, se muestra el Formulario (en este caso, nos muestra la palabra “Formulario“).
  2. Pero, si pulsamos el botón “Enviar” del Formulario, se limpia el buffer de salida (ob_end_clean()) y nos muestra la página que hemos especificado mediante header().
  3. Cuando salimos de esta página, mediante la nueva función exit(), PHP nos cierra o nos fuerza salir del navegador.

Ahora miramos lo que sucede:

  1. La 1ª vez que entramos en esta página, se muestra el Mensaje y el Formulario (en este caso, nos muestra la palabra “Formulario“).
  2. Si pulsamos el botón “Enviar” del Formulario, se limpia el buffer de salida (ob_end_clean()) y nos muestra la página que hemos especificado mediante header().
  3. Cuando salimos de esta página, como no tenemos la función exit(), PHP no nos cerrará o nos forzará salir del navegador, y nos mantendremos en él.

Hasta aquí esta parte del curso Desarrollo Web con PHP y MySQL a lo que lenguaje PHP se refiere. La semana próxima empezaremos con una introducción a las bases de datos (BBDD) y en nuestro caso, empezaremos a ver que es MySQL y sus principales características.

Más adelante, retomaremos el lenguaje PHP para ver más funciones asociadas al trabajo con BBDD como MySQL.

Hasta entonces un saludo y no os olvidéis dejar vuestros comentarios o incidencias sobre el curso.

¡Ánimo!

Info | PHP.NET
Curso | Desarrollo Web con PHP y MySQL