Specifica le dipendenze in PHP

PHP usa Composer per gestire le dipendenze. Se utilizzi Cloud Shell, Composer è preinstallato. Altrimenti, segui Istruzioni per l'installazione di Composer.

Creazione di un file composer.json in corso...

Il file composer.json elenca le dipendenze della funzione. Puoi puoi crearlo manualmente oppure puoi eseguire questo comando:

composer init

Quando esegui questo comando, ti chiede in modo interattivo di compilare i campi, offrendo al contempo alcune impostazioni predefinite intelligenti.

Dichiarazione delle dipendenze

Per dichiarare le dipendenze, aggiungi un file composer.json contenente le dipendenze al tuo della funzione. In questo esempio, richiediamo Framework delle funzioni e aggiungi uno script 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"
        ]
    }
}

Tieni presente che gli script definiti File composer.json non verrà eseguito quando Composer può utilizzare un risultato memorizzato nella cache.

Aggiungi il framework di Functions come dipendenza

Il runtime PHP di Cloud Functions richiede che il framework di Functions sia un una dipendenza esplicita. Per aggiungere il framework di Functions come dipendenza, esegui il comando il seguente comando nella directory contenente il codice della funzione (questa directory deve contenere anche il file composer.json):

composer require google/cloud-functions-framework

Verrà aggiunto il framework di Functions a composer.json e verrà installato pacchetto nella directory vendor/.

File autoload.php

Uno dei file contenuti nella directory vendor/ è autoload.php.

Aggiungi la seguente riga all'inizio degli script PHP per richiedere il parametro autoload.php, che requiresarà automaticamente l'altra funzione della tua funzione delle dipendenze:

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

Per impostazione predefinita, la directory vendor/ viene ignorata nella sezione .gcloudignore per ridurre di file inviati durante il deployment.

Aggiornamento delle dipendenze

Per aggiornare le dipendenze della funzione e il file composer.lock, utilizza la classe Comando update:

composer update

Questo risolve tutte le dipendenze del progetto e ne scrive le versioni esatte composer.lock.