Abhängigkeiten in PHP angeben

Abhängigkeiten werden mit Composer in PHP verwaltet.

Composer installieren

Wenn Composer noch nicht installiert ist, gehen Sie so vor:

  1. Laden Sie Composer an einen beliebigen Speicherort herunter.

  2. Nach dem Download verschieben Sie die Datei composer.phar in ein Verzeichnis, das sich in Ihrem Systempfad befindet. Beispiel:

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

Datei composer.json erstellen

In der Datei composer.json sind die Abhängigkeiten Ihrer Funktion aufgelistet. Sie können die Datei entweder manuell erstellen oder den folgenden Befehl ausführen:

composer init

Wenn Sie diesen Befehl ausführen, werden Sie aufgefordert, die Felder interaktiv auszufüllen und es werden einige sinnvolle Standardeinstellungen angeboten.

Abhängigkeiten deklarieren

Zum Deklarieren von Abhängigkeiten fügen Sie dem Funktionscodeverzeichnis eine composer.json-Datei mit Abhängigkeiten hinzu. In diesem Beispiel benötigen Sie das Functions Framework und fügen ein start-Skript hinzu:

{
    "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"
        ]
    }
}

Beachten Sie, dass in der composer.json-Datei definierte Skripts nicht ausgeführt werden, wenn Composer ein im Cache gespeichertes Ergebnis verwenden kann.

Functions Framework als Abhängigkeit hinzufügen

Für die PHP-Laufzeit von Cloud Functions muss das Functions Framework eine explizite Abhängigkeit sein. Führen Sie den folgenden Befehl in dem Verzeichnis mit dem Funktionscode aus, um Functions Framework als Abhängigkeit hinzuzufügen. Dieses Verzeichnis muss auch diecomposer.json-Datei enthalten:

composer require google/cloud-functions-framework

Dadurch wird Functions Framework zu composer.json hinzugefügt und das Paket im Verzeichnis vendor/ installiert.

Datei autoload.php

Eine der Dateien in Ihrem vendor/-Verzeichnis ist autoload.php.

Fügen Sie oben in Ihren PHP-Skripts die folgende Zeile ein, um die Datei autoload.php erforderlich zu machen. Dabei werden die anderen Abhängigkeiten Ihrer Funktion automatisch mit require versehen:

require_once __DIR__ . '/vendor/autoload.php';

Das Verzeichnis vendor/ wird standardmäßig in der generierten Datei .gcloudignore ignoriert, um die Anzahl der in der Bereitstellung gesendeten Dateien zu reduzieren.

Abhängigkeiten aktualisieren

Verwenden Sie den Befehl update, um die Abhängigkeiten Ihrer Funktion und die composer.lock-Datei zu aktualisieren:

composer update

Dadurch werden alle Abhängigkeiten des Projekts aufgelöst und die exakten Versionen in composer.lock geschrieben.