
Resumen
En este laboratorio se desarrolla una aplicación web PHP sobre una base de datos Neo4j. Se creará una API REST para interactuar con la base de datos.
-
Familiarse con el driver Neo4j para PHP.
-
Desarrollar una API REST en PHP sencilla sobre Neo4j.
-
Crear una aplicación sencilla en PHP sobre Neo4j.
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 Neo4j. Se trata de un ejemplo que muestra información cinematográfica. La aplicación ofrece las siguientes funciones básicas:
-
La aplicación implementa una API REST que permite lo siguiente:
-
Obtener todas las películas disponibles en la base de datos
-
Obtener información detallada de una película por su título
-
Obtener la filmografía completa de un actor
-
-
En la página de inicio se muestran todas las películas disponibles.
-
Cada película muestra su título, año de producción y tagline.
-
Se puede mostrar información detallada de una película incluyendo su reparto completo y directores.
-
Se puede buscar una película por su título y consultar la filmografía completa de un actor.
Note
|
La aplicación clonada es totalmente funcional, pero omite toda la lógica de acceso a la base de datos (conexión y endpoints de la API). El objetivo de este laboratorio es completar la lógica de acceso a la base de datos para que la aplicación funcione correctamente. |
2.1. Ejercicios propuestos
-
Hacer fork del [repositorio de base y completar los scripts PHP para que la aplicación funcione correctamente. Los scripts PHP son los siguientes, modificando los lugares en los que aparece
YOUR CODE HERE
:-
connection.php
: Establece la conexión con Neo4j. -
api/index.php
: Implementa los endpoints de la API REST
-
2.1.1. Descripción de los endpoints de la API REST
Method | URL | Descripción |
---|---|---|
GET |
|
Obtener todas las películas |
GET |
|
Obtener una película por su título |
GET |
|
Obtener todas las películas de un actor |
2.1.2. Ejemplos de respuesta de los endpoints de la API REST
-
Operación: Obtener todas las películas
-
Endpoint:
GET /api/movies
[ { "id": 0, "title": "The Matrix", "released": 1999, "tagline": "Welcome to the Real World" }, { "id": 9, "title": "The Matrix Reloaded", "released": 2003, "tagline": "Free your mind" }, { "id": 10, "title": "The Matrix Revolutions", "released": 2003, "tagline": "Everything that has a beginning has an end" }, ... ]
-
Operación: Obtener una película por su título
-
Endpoint:
GET /api/movies/The Matrix
{ "title": "The Matrix", "year": 1999, "tagline": "Welcome to the Real World", "actors": [ "Keanu Reeves", "Laurence Fishburne", "Carrie-Anne Moss", "Hugo Weaving" ], "directors": [ "Lana Wachowski", "Lilly Wachowski" ] }
-
Operación: Obtener todas las películas de un actor
-
Endpoint:
GET /api/actors/Keanu Reeves/movies
[ { "id": 0, "title": "The Matrix", "released": 1999, "tagline": "Welcome to the Real World" }, { "id": 9, "title": "The Matrix Reloaded", "released": 2003, "tagline": "Free your mind" }, { "id": 10, "title": "The Matrix Revolutions", "released": 2003, "tagline": "Everything that has a beginning has an end" }, ... ]
3. Pantallas de la aplicación
A continuación se muestran algunas capturas de pantalla de la aplicación:
Esta sería la pantalla de inicio de la aplicación mostrando las películas. A la derecha permite la búsqueda de películas por título y la consulta de la filmografía de un actor.

Al hacer clic sobre una película se muestra la información completa de la película, incluyendo su reparto y directores. La figura muestra la información completa de una película.

La aplicación permite buscar una película por su título. La figura muestra el resultado de la búsqueda de la película Top Gun
. (En este caso, la API permite la búsqueda sin distinguir mayúsculas y minúsculas. Se recomienda convertir a minúsculas antes de realizar la búsqueda y realizar la comparación con el campo en minúsculas).

La aplicación permite consultar la filmografía de un actor. La figura muestra la filmografía de Keanu Reeves
. (En este caso, la API permite la búsqueda sin distinguir mayúsculas y minúsculas. Se recomienda convertir a minúsculas antes de realizar la búsqueda y realizar la comparación con el campo en minúsculas).
