Lab 03. Desarrollo de un Blog con PHP y MongoDB#
Manuel Torres
Bases de datos a gran escala. Máster en Ingeniería Informática. Universidad de Almería
En este laboratorio se desarrolla una aplicación web PHP sobre una base de datos MongoDB. Se creará una API REST para interactuar con la base de datos.
Objetivos
Familiarse con el driver MongoDB para PHP.
Desarrollar una API REST en PHP sencilla sobre MongoDB.
Crear una aplicación sencilla en PHP sobre MongoDB.
Prerrequisitos
Tener configurado el entorno de desarrollo de la asignatura.
Recursos#
Puedes obtener más información sobre cómo trabajar con MongoDB siguiendo estos tutoriales:
Actividades#
Desarrollar una aplicación web en PHP sobre una base de datos MongoDB como la que hay disponible en la URL facilitada en Aula Virtual. Se trata de un ejemplo de un Blog sencillo sobre información legislativa norteamericana. La aplicación ofrece las siguientes funciones básicas:
En la página de inicio se muestran cinco posts (no se implementa la paginación de resultados).
De cada post se muestra su título, fecha, persona que lo ha escrito, un extracto del cuerpo del post, las etiquetas, y todos los comentarios realizados, con un extracto del comentario y la persona que lo ha realizado.
Se puede mostrar información completa sobre un post.
Se pueden mostrar los posts (máximo 5) asociados a una etiqueta.
La aplicación también muestra la lista de todas las personas que hayan realizado algún comentario en algún post. Se pueden mostrar los posts (máximo 5) comentados por una persona.
La aplicación también implementa una API REST que permite lo siguiente:
Obtener toda la información de un post a partir de su
ObjectId
Obtener todos los posts que tengan una etiqueta determinada
Crear un post
Añadir un comentario a un post
Ejercicios propuestos#
Importar el archivo JSON
posts.json
disponible en SampleDatabases en una colecciónposts
dentro de una base de datos denominadablog
.Hacer un fork de ualmtorres/MongoDBIncompleto.git
Modificar los scripts siguientes completando con el código necesario en los lugares en los que aparece
YOUR CODE HERE
connection.php
: Establece la conexión con MongoDB y selecciona la colecciónposts
.showPosts.php
: Muestra cinco posts. Del cuerpo de cada post sólo se muestran los 300 primeros caracterespostHeader.php
: Muestra título, fecha y autor del postlabels.php
: Muestra las etiquetas de un postcomments.php
: Muestra los comentarios de un post (autor y 100 primeros caracteres del comentario)commentsAuthor.php
: Muestra la barra de derecha de autores de comentariosshowMore.php
: Muestra un post sin limitar a 300 los caracteres del texto del postshowPostsByTag.php
: Muestra cinco posts que incluyan una etiqueta concretashowPostsCommentedByAuthor.php
: Muestra cinco posts en los que una persona concreta haya incluido un comentario
Modificar el script
api/index.php
para proporcionar una API REST que implemente los métodos siguientes
Método |
URL |
Descripción |
Uso |
---|---|---|---|
|
|
Devuelve un post en JSON a partir de la clave proporcionada |
|
|
|
Devuelve los posts en JSON que incluyen la etiqueta proporcionada |
|
|
|
Crea un nuevo post con el documento proporcionado |
|
|
|
Modifica el documento especificado añadiéndole el comentario proporcionado |
|