Specificare le dipendenze in PHP
PHP utilizza Composer per gestire le dipendenze. Se utilizzi Cloud Shell, composer è preinstallato. In caso contrario, segui le istruzioni di installazione di Composer.
Creazione di un file composer.json
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 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
:
Tieni presente che gli script definiti nel
file composer.json
non verranno eseguiti quando Composer può utilizzare un risultato memorizzato nella cache.
Aggiungere il framework di funzioni come dipendenza
Il runtime PHP delle funzioni Cloud Run richiede che il framework Functions sia 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
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
.