Specifica le dipendenze in PHP

Usa Composer per gestire le dipendenze in PHP.

Installazione di Composer

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

  1. Scarica Composer in qualsiasi luogo.

  2. Una volta scaricato, sposta il file composer.phar in una directory presente nel percorso del tuo 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 o eseguire il seguente comando:

composer init

Quando esegui questo comando, ti viene chiesto in modo interattivo di compilare i campi, offrendo al contempo alcuni valori predefiniti intelligenti.

Dichiarazione delle dipendenze

Per dichiarare le dipendenze, aggiungi un file composer.json che contenga le dipendenze alla directory del codice della funzione. In questo esempio, è necessario il framework delle funzioni e aggiungiamo uno script start:

{
    "require": {
        "php": ">= 7.4",
        "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 file composer.json non verranno eseguiti 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 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

Questo aggiunge il framework di Functions a composer.json e installa il 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 file autoload.php, che require 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 durante il deployment.

Aggiornamento delle dipendenze

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

composer update

In questo modo vengono risolte tutte le dipendenze del progetto e le relative versioni esatte vengono scritte in composer.lock.