Composer se ejecuta automáticamente cuando implementas una nueva versión de tu aplicación. Solo tienes que añadir la siguiente línea a la parte superior de tus secuencias de comandos PHP para requerir el archivo autoload.php
:
require_once __DIR__ . '/vendor/autoload.php';
Composer añade los paquetes al directorio vendor/
de tu aplicación, donde se genera el archivo autoload.php
. El cargador automático de Composer carga automáticamente las clases instaladas por Composer sin una instrucción require
para cada archivo.
De forma predeterminada, el directorio vendor/
se ignora en el archivo .gcloudignore
generado para reducir el número de archivos enviados en la implementación.
Puedes declarar dependencias de PHP en un archivo composer.json
estándar. Por ejemplo:
{
"require": {
"google/cloud": "^0.72"
}
}
Puedes usar cualquier paquete PHP compatible con Linux en App Engine. El tiempo de ejecución busca un archivo composer.json
en el directorio de origen de tu aplicación y usa composer
para instalar las dependencias antes de iniciar la aplicación.
Las secuencias de comandos definidas en el archivo composer.json
no se ejecutarán cuando Composer pueda usar un resultado almacenado en caché.
De forma predeterminada, App Engine almacena en caché las dependencias obtenidas para reducir los tiempos de compilación. Para instalar una versión sin caché de la dependencia, usa el comando:
gcloud app deploy --no-cache
Instalar y ejecutar de forma local
Usa composer para instalar las dependencias de forma local:
composer install
composer.lock
en tu aplicación.
Puedes probar tu aplicación con el servidor web que elijas. Para ejecutar rápidamente tu aplicación, puedes usar el servidor web integrado de PHP.
Instalar un framework web
De forma predeterminada, App Engine sirve todas las solicitudes a través del archivo public/index.php
o index.php
. No es obligatorio indicar un framework, pero es recomendable. Puedes usar cualquier framework web con App Engine, incluidos los siguientes:
Instalar las bibliotecas de cliente de Cloud
La biblioteca de cliente de Google Cloud para PHP es una biblioteca de cliente para acceder a los servicios de Google Cloud , que reduce el código repetitivo que tienes que escribir. La biblioteca proporciona abstracciones de API de alto nivel y fáciles de entender. Se adapta a las expresiones idiomáticas de PHP, funciona bien con la biblioteca estándar y se integra mejor con tu base de código. Todo esto significa que puedes dedicar más tiempo a crear el código que te importa.
Instala la biblioteca localmente:
composer require google/cloud
Puedes gestionar la autenticación de forma local mediante la CLI de Google Cloud. Si quieres que tu aplicación local use temporalmente tus propias credenciales de usuario para acceder a la API, ejecuta el siguiente comando:
gcloud auth application-default login
Para obtener información sobre cómo configurar las bibliotecas de cliente de Cloud para PHP de forma que gestionen la autenticación automáticamente, consulta el artículo Autenticarse en servicios de Cloud con bibliotecas de cliente.
Usar repositorios privados
Para usar bibliotecas en repositorios privados, debes completar las siguientes tareas:
- Configura el repositorio.
- Proporciona a
composer
el secreto para acceder al repositorio privado.
En el siguiente ejemplo se muestra cómo acceder a un repositorio privado en GitHub.
Configura el repositorio en
composer.json
usandovcs
para el tipo:"repositories": [ { "type": "vcs", "url": "https://github.com/username/private_package" } ]
Crea un archivo llamado
auth.json
en el directorio raíz de tu proyecto:{ "github-oauth": { "github.com": "<your-github-auth-token>" } }
Puedes obtener el token de autenticación de GitHub en la interfaz de usuario administrativa de GitHub.
Aquí tienes otro ejemplo que muestra cómo acceder a un repositorio privado de Bitbucket.
Configura el repositorio en
composer.json
usandovcs
para el tipo:"repositories": [ { "type": "vcs", "url": "https://bitbucket.org/username/private_git" } ]
Crea un archivo llamado
auth.json
en el directorio raíz de tu proyecto:{ "bitbucket-oauth": { "bitbucket.org": { "consumer-key": "<your-oauth-consumer-key>", "consumer-secret": "<your-oauth-consumer-secret>" } } }