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 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 app deploy --no-cache

Installieren und lokal ausführen

Verwenden Sie Composer, um die Abhängigkeiten lokal zu installieren.

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 möglichst 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:

Cloud-Clientbibliotheken installieren

Die Google Cloud-Clientbibliothek für PHP ist eine Clientbibliothek für den Zugriff auf Google Cloud-Dienste, die den von Ihnen zu schreibenden Boilerplate-Code reduziert. Die Bibliothek bietet API-Abstraktionen auf höherer Ebene, sodass sie einfacher zu verstehen sind. Sie umfasst Idiome von PHP, funktioniert gut mit der Standardbibliothek und lässt sich noch besser in Ihre Codebasis integrieren. So können Sie sich verstärkt auf das Erstellen von relevantem Code konzentrieren.

  1. Installieren Sie die Bibliothek lokal:

    composer require google/cloud
    
  2. Die Authentifizierung können Sie lokal mithilfe der Google Cloud CLI vornehmen. Wenn Ihre lokale Anwendung vorübergehend Ihre eigenen Nutzeranmeldedaten für den API-Zugriff verwenden soll, führen Sie Folgendes aus:

    gcloud auth application-default login
    

    Weitere Informationen zum Konfigurieren von Cloud-Clientbibliotheken für PHP für die automatische Authentifizierung finden Sie unter Mit Clientbibliotheken bei Cloud-Diensten authentifizieren.

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