App de Bookshelf de PHP

La app de Bookshelf es una app web de ejemplo escrita en PHP que muestra cómo usar diversos productos de Google Cloud Platform, incluidos los siguientes:

  • Entorno flexible de Google App Engine
  • Google Cloud SQL
  • Google Cloud Datastore
  • Google Cloud Storage
  • Google Cloud Pub/Sub

Este instructivo explora la app de Bookshelf en detalle y analiza cómo cada característica de la app se implementa con tecnologías y servicios conocidos que proporciona Cloud Platform.

Captura de pantalla de la app de Bookshelf que muestra los controles y las portadas de los libros

La app de Bookshelf de muestra almacena una colección de títulos de libros. Cualquier persona que tenga acceso a la app puede agregar libros a la lista. La app de muestra ofrece estas características:

  • Los usuarios pueden ver la lista de libros, agregar otros y quitarlos.
  • Los usuarios pueden editar los detalles de los libros.
  • Los usuarios pueden subir imágenes de portada de los libros.
  • Los usuarios pueden acceder con sus cuentas de Google y ver los libros que agregaron a la lista.

Objetivos

  • Clonar o descargar la app de muestra
  • Crear la app y ejecutarla en una máquina local
  • Implementar la app en App Engine
  • Examinar el código de muestra
  • Obtener información sobre cómo se almacenan datos estructurados en la app
  • Obtener información sobre cómo se almacenan datos binarios de la app en Google Cloud Storage
  • Obtener información sobre cómo la app autentica usuarios
  • Obtener información sobre la creación de registros de acontecimientos de la app que se pueden ver en Google Cloud Platform Console

Costos

En este instructivo, se usan componentes facturables de Cloud Platform, incluido Google Compute Engine.

Los usuarios nuevos de Cloud Platform pueden optar a una prueba gratuita.

Este instructivo tiene varios pasos y cada uno se documenta en una página propia. En la página final, hay instrucciones para realizar la limpieza de los recursos, de manera que no se sigan facturando servicios de Cloud Platform en tu cuenta. Si decides no completar todos los pasos de este instructivo, consulta las instrucciones de limpieza en la última página.

Antes de comenzar

  1. Usa GCP Console para configurar el proyecto de Google Cloud Platform:
    1. Crea un proyecto de GCP nuevo. Luego, crea una aplicación de App Engine y habilita la facturación en ese proyecto:
      Ir a App Engine

      Cuando se te pregunte, selecciona la región donde quieras que se ubique la aplicación de App Engine y habilita la facturación. Después de crear tu proyecto de GCP, se abrirá el Panel de control.

    2. Enable the Cloud Datastore, Cloud Pub/Sub, Cloud Storage JSON, Stackdriver Logging, Google+ y Google Cloud SQL APIs.

      Enable the APIs

  2. Descarga, instala y, luego, inicializa el SDK de Google Cloud:
    Descarga el SDK
  3. Obtén credenciales locales para autenticar con servicios de Google Cloud Platform:
    gcloud auth application-default login
  4. Verifica que el proyecto predeterminado sea el correcto:
    gcloud config list
    Si el ID de proyecto que aparece en el resultado no corresponde al proyecto que quieres usar para este instructivo, configura el proyecto con el siguiente comando:
    gcloud config set project [YOUR_PROJECT_ID]
    en el que [YOUR_PROJECT_ID] es el ID del proyecto que creaste o elegiste usar para este instructivo.
  5. Clona el repositorio de muestra:

    git clone https://github.com/GoogleCloudPlatform/getting-started-php.git

    De manera opcional, puedes descargar la muestra como un archivo zip y extraerla.

Para este instructivo, suponemos que conoces PHP y que tienes instalado PHP 5.6, 7.0 o 7.1. Además, debes descargar Composer. Para este instructivo, suponemos que el archivo ejecutable de Composer se instaló de manera global.

Estructura del instructivo

El instructivo de Bookshelf tiene varias partes que muestran cómo la app de ejemplo usa varios servicios de Cloud Platform.

La sección de datos estructurados del instructivo muestra cómo la app de ejemplo almacena la información de los libros en una base de datos SQL o NoSQL. La página web de la app muestra un formulario en el que el usuario puede ingresar el título, el autor, la descripción y la fecha de publicación de un libro. Para cada libro que se ingresa, la app almacena esta información en una base de datos, de manera que se pueda recuperar más tarde para verla o editarla. Para este paso del instructivo, debes elegir una de estas tres bases de datos: Cloud SQL, Cloud Datastore o MongoDB. Después de completar este paso con una de las bases de datos, puedes continuar con el paso siguiente.

La sección de Cloud Storage del instructivo muestra cómo la app de ejemplo almacena datos binarios en Cloud Storage. En la página web de la app, el usuario puede especificar una imagen de portada para cada libro. La app almacena las imágenes de portada en un depósito de Cloud Storage.

La sección de autorización del instructivo demuestra cómo la app proporciona un flujo de acceso para el usuario. Cuando accede el usuario, los libros que ingresa se asocian con ese usuario en particular. Los usuarios que acceden solo pueden ver sus propios libros.

La sección de registro del instructivo demuestra cómo la app escribe registros que se pueden ver en Google Cloud Platform Console. Los registros de este tipo pueden proporcionar información de diagnóstico durante el desarrollo de la app.

¿Te sirvió esta página? Envíanos tu opinión: