Abhängigkeiten angeben

Bei der Bereitstellung einer neuen Version einer Anwendung wird Composer automatisch ausgeführt. Fügen Sie einfach oben in Ihren PHP-Skripts die folgende Zeile ein, um die Datei autoload.php anzufordern:

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

Composer fügt die Pakete in das Verzeichnis vendor/ Ihrer Anwendung hinzu, wo die autoload.php-Datei wird generiert. Der Autoloader von Composer lädt automatisch die von Composer installierten Klassen ohne die Anweisung require für jede Datei.

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 deklarieren

Abhängigkeiten für PHP können in einer Standarddatei des Typs composer.json deklariert werden. Beispiel:

{
    "require": {
        "google/cloud": "^0.72"
    }
}

Sie können jedes Linux-kompatible PHP-Paket in App Engine verwenden. Die Laufzeit sucht im Quellverzeichnis der Anwendung nach der Datei composer.json und verwendet composer, um Abhängigkeiten zu installieren, bevor die Anwendung gestartet wird.

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

Standardmäßig werden abgerufene Abhängigkeiten von App Engine zwischengespeichert, um die Build-Zeiten zu reduzieren. Mit dem folgenden Befehl können Sie eine nicht zwischengespeicherte Version der Abhängigkeit installieren:

gcloud beta app deploy --no-cache

Installieren und lokal ausführen

So installieren Sie Abhängigkeiten mit Composer:

composer install

Speichern Sie die Datei composer.lock in der Anwendung, um die Abhängigkeiten der aktuellen Version zuzuordnen.

Sie können die Anwendung mit Ihrem bevorzugten Webserver testen. Für eine schnelle Ausführung der Anwendung eignet sich der in PHP integrierte Webserver.

Web-Framework installieren

Standardmäßig verarbeitet App Engine alle Anfragen über die Datei public/index.php oder index.php. Ein Framework ist zwar nicht erforderlich, aber ratsam. Sie können dabei jedes Web-Framework mit App Engine verwenden, darunter auch:

Private Repositories verwenden

Führen Sie die folgenden Aufgaben aus, um Bibliotheken in privaten Repositories zu verwenden:

  • Konfigurieren Sie das Repository.
  • Stellen Sie composer das Secret für den Zugriff auf das private Repository zur Verfügung.

Das folgende Beispiel zeigt, wie Sie auf ein privates Repository in GitHub zugreifen.

  1. Konfigurieren Sie das Repository in composer.json mit dem Typ vcs:

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/username/private_package"
        }
    ]
    
  2. Erstellen Sie eine Datei mit dem Namen auth.json im Stammverzeichnis des Projekts:

    {
        "github-oauth": {
            "github.com": "<your-github-auth-token>"
        }
    }
    

Sie können das GitHub-Authentifizierungstoken von der Administrator-Benutzeroberfläche von GitHub abrufen.

Dieses Beispiel zeigt, wie Sie auf ein privates Repository für Bitbucket zugreifen.

  1. Konfigurieren Sie das Repository in composer.json mit dem Typ vcs:

    "repositories": [
        {
            "type": "vcs",
            "url":  "https://bitbucket.org/username/private_git"
        }
    ]
    
  2. Erstellen Sie eine Datei mit dem Namen auth.json im Stammverzeichnis des Projekts:

    {
        "bitbucket-oauth": {
            "bitbucket.org": {
                "consumer-key": "<your-oauth-consumer-key>",
                "consumer-secret": "<your-oauth-consumer-secret>"
            }
        }
    }