Resumen
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.
-
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.
1. Recursos
Puedes obtener más información sobre cómo trabajar con MongoDB siguiendo estos tutoriales:
2. 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
-
2.1. 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 https://gitlab.com/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 caracteres -
postHeader.php
: Muestra título, fecha y autor del post -
labels.php
: Muestra las etiquetas de un post -
comments.php
: Muestra los comentarios de un post (autor y 100 primeros caracteres del comentario) -
commentsAuthor.php
: Muestra la barra de derecha de autores de comentarios -
showMore.php
: Muestra un post sin limitar a 300 los caracteres del texto del post -
showPostsByTag.php
: Muestra cinco posts que incluyan una etiqueta concreta -
showPostsCommentedByAuthor.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
Method | 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 |
|