Crear un foro en PHP y Mysql Part1/3

Crearemos un foro desde cero, separaremos la programación del diseño, y modularemos nuestra aplicación para que sea simple de configurar y de adaptar. Debemos preparar la tabla en una base de datos donde se alojaran todos los temas de nuestro foro. Lo que esta tabla tendrá, es la información de nuestros mensajes, el autor del mismo, y otros datos que servirán para identificar a que tema pertenece un mensaje. Empezamos con la estructura propuesta :

SQL:

El detalle de los campos que tendrá nuestra tabla:

  • id : Será e identificador principal de la tabla. Sirve para diferenciar cada uno de los mensajes.
  • autor : el autor del mensaje.
  • titulo : el titulo que tendrá el mensaje. Si este mensaje es el iniciador de un tema, será el que mostrará en el home del Foro.
  • mensaje : El mensaje en si mismo.
  • fecha : un campo DATETIME que indicará en que fecha se ha publicado este mensaje.
  • respuestas : Si este mensaje es el iniciador de un tema, aqui se acumularán la cantidad de respuestas que reciba.
  • identificador : este campo guarda el valor del id del mensaje que se está respondiendo. Si el mensaje es iniciador de un tema, entonces este campo valdrá cero.
  • ult_respuesta : si el mensaje es iniciador de tema, aqui se actualizará valor de acuerdo con la fecha de la última respuesta que haya recibido. Sirve para poder mantener un orden en los foros.

Realizaremos un pequeño script que nos hara una tarea que vamos a repetir mucho, y que es conectarnos a la base de datos. Este script lo incluiremos en cada página en la que tengamos que acceder a la base de datos:

configuración.php

Tan solo es un script, con unas variables que contienen la configuración de nuestra base de datos, el código mínimo y necesario para conectarnos y guardar el recurso de conexión en una variable $con que luego utilizaremos cuando hagamos nuestras consultas.

Template:

Utilizaremos templates, para que puedas modificar a tu gusto el aspecto del foro, sin por ello tener que tocar el código de la aplicación. Lo que haremos es utilizar archivos .html que dentro contendrán solo diseño ( o sea, código HTML ) y en los lugares en los que deseemos colocar contenido “dinámico”, utilizaremos el formato simple para mostrar el contenido de variables, esto es : < ?=$variable?>.

Para “interpretar” un template, primero lo leemos en memoria utilizando la función file() y luego utilizaremos una simple función a la que le pasaremos como parámetro el template y las variables que hay que reemplazar. Para muestra, basta un botón: ejemplo.html

ejemplo.php

Los datos que tenemos en un array, los mostramos basándonos en un simple template. La función mostrarTemplate toma como parámetros el contenido del template y un array asociativo con los valores a reemplazar. La función de PHP extract() se encarga de pasar estos valores al ámbito en el que se llama la función, en este caso, el ámbito de la función. Por lo que si tenemos un arreglo del tipo $a = array(“clave” => “valor”), al ejecutar extract($a), entonces pasaremos a tener una variable disponible, de nombre $variable y con “valor” como contenido. Luego, la función eval() se encarga del resto, o sea, de ejecutar todo el código (el del template) que se le pasa como parámetro.

¿Porqué no hacemos simplemente un “include”? La respuesta es muy siemple. Eficiencia. La función include implica un acceso a disco, lo cual la hace bastante “costosa” en términos de eficiencia. Así que leyendo el template una sola vez en memoria, y luego utilizándolo varias veces, hacemos un mejor uso de los recursos de nuestro server.
Continuará…

Crear un foro en PHP y Mysql Part1/3
VOTA EL ARTICULO POR FAVOR

Share on FacebookTweet about this on TwitterShare on Google+Digg thisPin on PinterestShare on LinkedInPrint this pageEmail this to someone VOTA Y COMPARTE

Agregar comentario

10 − dos =

Suscribete

Suscribete a nuestro newsletter y mantente informado con nuestros últimos artículos, noticias y más. Todo completamente gratis.

Tu suscripción a sido realizada con éxito.