Spécifier les dépendances en PHP
PHP utilise Composer pour gérer les dépendances. Si vous utilisez Cloud Shell, Composer est préinstallé. Sinon, suivez les instructions d'installation de Composer.
Créer un fichier composer.json
Le fichier composer.json
répertorie les dépendances de votre fonction. Vous pouvez le créer manuellement, ou bien exécuter la commande suivante :
composer init
Lorsque vous exécutez cette commande, vous êtes invité à renseigner les différents champs. Des paramètres par défaut intelligents y sont cependant déjà proposés.
Déclarer des dépendances
Pour déclarer des dépendances, ajoutez un fichier composer.json
qui va contenir les dépendances au répertoire de votre code de fonction. Dans cet exemple, nous avons besoin du framework des fonctions et d'ajouter un script start
:
Notez que les scripts définis dans votre fichier composer.json
ne s'exécutent pas lorsque Composer peut utiliser un résultat mis en cache.
Ajouter un framework des fonctions en tant que dépendance
L'environnement d'exécution PHP de Cloud Functions nécessite que le framework des fonctions soit une dépendance explicite. Pour ajouter le framework des fonctions en tant que dépendance, exécutez la commande suivante dans le répertoire contenant le code de votre fonction (ce répertoire doit également contenir le fichier composer.json
) :
composer require google/cloud-functions-framework
Cette commande ajoute le framework des fonctions à votre fichier composer.json
et installe le package dans le répertoire vendor/
.
Fichier autoload.php
L'un des fichiers contenus dans votre répertoire vendor/
est autoload.php
.
Ajoutez la ligne suivante au début de vos scripts PHP pour exiger le fichier autoload.php
, ce qui va exiger (require
) automatiquement les autres dépendances de votre fonction :
require_once __DIR__ . '/vendor/autoload.php';
Par défaut, le répertoire vendor/
est ignoré dans le fichier .gcloudignore
généré afin de réduire le nombre de fichiers envoyés en déploiement.
Mettre à jour les dépendances
Pour mettre à jour les dépendances de votre fonction et le fichier composer.lock
, utilisez la commande update
:
composer update
Cela résout toutes les dépendances du projet et écrit leurs versions exactes dans le fichier composer.lock
.