Composer se ejecuta de manera automática cuando implementas una versión nueva de tu aplicación. Solo agrega la siguiente línea a la parte superior de tus secuencias de comandos de PHP para solicitar el archivo autoload.php
:
require_once __DIR__ . '/vendor/autoload.php';
Composer agrega los paquetes al directorio vendor/
de tu app, en el que se genera el archivo autoload.php
. El cargador automático de Composer carga las clases instaladas sin una declaración require
para cada archivo.
De forma predeterminada, el directorio vendor/
se ignora en el archivo .gcloudignore
generado para reducir la cantidad de archivos enviados en la implementación.
Puedes declarar dependencias para PHP en un archivo composer.json
estándar. Por ejemplo:
{
"require": {
"google/cloud": "^0.72"
}
}
Puedes usar cualquier paquete de PHP compatible con Linux en App Engine. El entorno de ejecución busca un archivo composer.json
en el directorio fuente de tu aplicación y usa composer
para instalar cualquier dependencia 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. Usa el siguiente comando para instalar una versión de la dependencia no almacenada en caché:
gcloud app deploy --no-cache
Instala y ejecuta dependencias de forma local
Usa Composer para instalar las dependencias de forma local:
composer install
composer.lock
en la aplicación.
Puedes probar la aplicación con tu servidor web de preferencia. Para ejecutar la aplicación con rapidez, puedes usar el servidor web integrado de PHP.
Instala un framework web
De forma predeterminada, App Engine entrega todas las solicitudes a través del archivo public/index.php
o index.php
. No se requiere un framework, pero sí se recomienda. Puedes usar cualquier marco de trabajo web con App Engine, como los siguientes:
Instala bibliotecas cliente de Cloud
La biblioteca cliente de Google Cloud para PHP es una biblioteca cliente que permite acceder a los servicios de Google Cloud y reduce el código estándar que debes escribir. La biblioteca proporciona abstracciones de API de alto nivel y fáciles de entender. Admite expresiones idiomáticas de PHP, funciona bien con la biblioteca estándar y tiene una mayor integración con tu base de código. Con todo esto, se logra que pases más tiempo creando el código que te interesa.
Instala la biblioteca de forma local:
composer require google/cloud
Puedes usar Google Cloud CLI para controlar la autenticación de forma local. Si deseas que la aplicación local use de forma temporal tus propias credenciales de usuario para el acceso a la API, ejecuta lo siguiente:
gcloud auth application-default login
Si quieres obtener más información sobre cómo configurar las bibliotecas cliente de Cloud para PHP con el fin de controlar la autenticación de manera automática, consulta Autentica los servicios de Cloud mediante bibliotecas cliente.
Usa repositorios privados
Para usar bibliotecas en repositorios privados, debes realizar las siguientes tareas:
- Configurar el repositorio
- Proporcionar 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
mediantevcs
según el tipo:"repositories": [ { "type": "vcs", "url": "https://github.com/username/private_package" } ]
Crea un archivo llamado
auth.json
en el directorio raíz del proyecto:{ "github-oauth": { "github.com": "<your-github-auth-token>" } }
Puedes obtener el token de autenticación de GitHub desde la IU de administración de GitHub.
A continuación, se muestra otro ejemplo en el que se detalla cómo acceder a un repositorio privado de Bitbucket.
Configura el repositorio en
composer.json
mediantevcs
según el tipo:"repositories": [ { "type": "vcs", "url": "https://bitbucket.org/username/private_git" } ]
Crea un archivo llamado
auth.json
en el directorio raíz del proyecto:{ "bitbucket-oauth": { "bitbucket.org": { "consumer-key": "<your-oauth-consumer-key>", "consumer-secret": "<your-oauth-consumer-secret>" } } }