Specifica le dipendenze in PHP

Puoi utilizzare Composer per gestire le dipendenze in PHP.

Installazione di Composer

Se non hai ancora installato Composer, puoi procedere nel seguente modo:

  1. Scarica Composer dove preferisci.

  2. Al termine del download, sposta il file composer.phar in una directory all'interno del percorso di sistema, ad esempio:

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

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

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

composer init

Quando esegui questo comando, ti viene chiesto in modo interattivo di compilare i campi e vengono offerti alcuni valori predefiniti intelligenti.

Dichiarazione delle dipendenze

Per dichiarare le dipendenze, aggiungi un file composer.json contenente le dipendenze alla directory del codice funzione. In questo esempio, è necessario il framework delle funzioni e aggiungere 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 nel tuo file composer.json non verranno eseguiti se 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 una dipendenza esplicita. Per aggiungere il framework di Functions come dipendenza, esegui questo comando nella directory contenente il codice della funzione (questa directory deve contenere anche il file composer.json):

composer require google/cloud-functions-framework

In questo modo, il framework di Functions viene aggiunto a composer.json e il pacchetto viene installato 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 file autoload.php, che require stabilisce automaticamente le altre dipendenze della funzione:

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

Per impostazione predefinita, la directory vendor/ viene ignorata nel file .gcloudignore generato per ridurre il numero di file inviati nel deployment.

Aggiornamento delle dipendenze

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

composer update

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