Especificar dependencias en PHP
Utiliza Composer para gestionar las dependencias en PHP.
Instalar Composer
Si aún no tienes instalado Composer, puedes hacerlo de la siguiente manera:
Descarga Composer en la ubicación que quieras.
Una vez descargado, mueve el archivo
composer.phar
a un directorio que esté en la ruta del sistema. Por ejemplo:mv composer.phar /usr/local/bin/composer
Crear un archivo composer.json
El archivo composer.json
enumera las dependencias de tu función. Puedes crearla manualmente o ejecutar el siguiente comando:
composer init
Cuando ejecutas este comando, se te pide de forma interactiva que rellenes los campos y se te ofrecen algunos valores predeterminados inteligentes.
Declarar dependencias
Para declarar dependencias, añade un archivo composer.json
que contenga dependencias al directorio de código de tu función. En este ejemplo, necesitamos el Functions Framework y añadimos una secuencia de comandos start
:
{ "require": { "php": ">= 8.1", "google/cloud-functions-framework": "^1.1" }, "scripts": { "start": [ "Composer\\Config::disableProcessTimeout", "FUNCTION_TARGET=helloHttp php -S localhost:${PORT:-8080} vendor/google/cloud-functions-framework/router.php" ] } }
Ten en cuenta que las secuencias de comandos definidas en tu archivo composer.json
no se ejecutarán cuando Composer pueda usar un resultado almacenado en caché.
Añadir Functions Framework como dependencia
El entorno de ejecución de PHP de las funciones de Cloud Run requiere que Functions Framework sea una dependencia explícita. Para añadir Functions Framework como dependencia, ejecuta el siguiente comando en el directorio que contiene el código de tu función (este directorio también debe contener el archivo composer.json
):
composer require google/cloud-functions-framework
De esta forma, se añade Functions Framework a tu composer.json
y se instala el paquete en el directorio vendor/
.
Archivo autoload.php
Uno de los archivos incluidos en tu directorio vendor/
es autoload.php
.
Añade la siguiente línea a la parte superior de tus secuencias de comandos PHP para requerir el archivo autoload.php
, que require
automáticamente las demás dependencias de tu función:
require_once __DIR__ . '/vendor/autoload.php';
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.
Actualizar dependencias
Para actualizar las dependencias de tu función y el archivo composer.lock
, usa el comando update
:
composer update
De esta forma, se resuelven todas las dependencias del proyecto y se escriben sus versiones exactas en composer.lock
.