Especifica dependencias en PHP

Usa Composer para administrar dependencias en PHP.

Instala Composer

Si aún no tienes Composer instalado, puedes hacerlo de la siguiente manera:

  1. Descarga Composer a cualquier ubicación que desees.

  2. Una vez que se haya descargado, mueve el archivo composer.phar a un directorio que esté en la ruta de tu sistema, por ejemplo:

    mv composer.phar /usr/local/bin/composer
    

Crea un archivo composer.json

El archivo composer.json enumera las dependencias de tu función. Puedes hacerlo de forma manual o ejecutar el siguiente comando:

composer init

Cuando ejecutas este comando, te solicita completar los campos de forma interactiva y, a su vez, ofrece algunos valores predeterminados inteligentes.

Declara dependencias

Para declarar dependencias, agrega un archivo composer.json que contenga dependencias al directorio de código de tu función. En este ejemplo, necesitamos el marco de trabajo de Functions y agregamos una secuencia de comandos start:

{
    "require": {
        "google/cloud-functions-framework": "^0.7"
    },
    "scripts": {
        "start": [
           "Composer\\Config::disableProcessTimeout",
           "FUNCTION_TARGET=helloHttp php -S localhost:${PORT:-8080} vendor/bin/router.php"
        ]
    }
}

Ten en cuenta que las secuencias de comandos definidas en el archivo composer.json no se ejecutarán cuando Composer pueda usar un resultado almacenado en caché.

Agrega Functions Framework como dependencia

El entorno de ejecución de PHP para Cloud Functions requiere que Functions Framework sea una dependencia explícita. Para agregar Functions Framework como dependencia, ejecuta el siguiente comando en el directorio que contiene tu código de función (este directorio también debe contener el archivo composer.json):

composer require google/cloud-functions-framework

Esto agrega el marco de trabajo de Functions a tu composer.json y, luego, instala el paquete en el directorio vendor/.

Archivo autoload.php

Uno de los archivos incluidos en el directorio vendor/ es autoload.php.

Agrega la siguiente línea a la parte superior de tus secuencias de comandos de PHP para requerir el archivo autoload.php, que automáticamente require de sus otras dependencias de la función:

require_once __DIR__ . '/vendor/autoload.php';

De forma predeterminada, el directorio vendor/ se ignora en el archivo .gcloudignore generado para reducir la cantidad de archivos enviados en la implementación.

Actualiza dependencias

Para actualizar las dependencias de tu función y el archivo composer.lock, usa el comando update:

composer update

Esto resuelve todas las dependencias del proyecto y escribe sus versiones exactas en composer.lock.