Specifica le dipendenze in PHP

Utilizzi Composer per gestire le dipendenze in PHP.

Installazione di Composer

Se non hai ancora installato Composer:

  1. Scarica Composer nella posizione che preferisci.

  2. Una volta scaricato, sposta il file composer.phar in una directory che si trova nel percorso di sistema, ad esempio:

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

Crea un file composer.json

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

composer init

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

Dichiara le dipendenze

Per dichiarare le dipendenze, aggiungi una cartella composer.json contenente le dipendenze alla directory del codice della funzione. In questo esempio, richiediamo il framework di Functions e aggiungiamo 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 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 Run Functions richiede che il framework di Functions sia una dipendenza esplicita. Per aggiungere il framework di Functions come dipendenza, esegui il comando in basso 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 richiede (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 al fine di ridurre il numero di file inviati nel deployment.

Aggiorna le dipendenze

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

composer update

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