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
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.
Installieren Sie die Bibliothek lokal:
composer require google/cloud
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.
Konfigurieren Sie das Repository in
composer.json
mit dem Typvcs
:"repositories": [ { "type": "vcs", "url": "https://github.com/username/private_package" } ]
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.
Konfigurieren Sie das Repository in
composer.json
mit dem Typvcs
:"repositories": [ { "type": "vcs", "url": "https://bitbucket.org/username/private_git" } ]
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>" } } }