Specificare le dipendenze in PHP

Utilizzerai Composer per per gestire le dipendenze in PHP.

Installazione di Composer

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

  1. Scarica Composer in qualsiasi posizione. desiderio.

  2. Al termine del download, sposta il file composer.phar in una directory nel 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 puoi crearlo manualmente oppure puoi eseguire questo comando:

composer init

Quando esegui questo comando, ti viene chiesto 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 alla directory del codice della funzione. In questo esempio, è necessario il Functions Framework 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 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 Run Functions richiede che il framework di Functions sia un una dipendenza esplicita. Per aggiungere il framework Functions come dipendenza, esegui 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

In questo modo, il framework 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 parametro autoload.php, che requiresarà automaticamente l'altra funzione della tua funzione dependencies:

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 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.