PHP GTFS-realtime Sprachbindungen¶
Stellt PHP-Klassen zur Verfügung, die aus der GTFS-realtime ProtocolBuffer-Spezifikation generiert wurden. Diese Klassen ermöglichen es Ihnen, einen binären ProtocolBuffer GTFS-Realtime Datenfeed in PHP-Objekte zu parsen.
Für Bindungen in anderen Sprachen, siehe das gtfs-realtime-bindings project.
Abgelehnt
Ab Februar 2019 unterstützt das offizielle google-protobuf
Google-Protokolltool keine proto2-Dateien. Daher verwerfen wir die PHP, bis die offizielle Unterstützung für proto2-Dateien in den Google-Protokollpuffer-Tools implementiert ist.
Hinzufügen der Abhängigkeit¶
Um die gtfs-realtime-bindings-php
Klassen in Ihrem eigenen Projekt zu verwenden, müssen Sie zuerst das Packagist Composer package installieren. Fügen Sie dazu eine Abhängigkeit in Ihrer composer.json
Datei hinzu:
"require": {
"google/gtfs-realtime-bindings": "x.y.z"
}
Dabei ist x.y.z
die neueste Version:
Aktualisieren Sie dann Ihre Composer-Abhängigkeiten:
composer update
Beispielcode¶
Der folgende Codeausschnitt veranschaulicht das Herunterladen eines GTFS-Realtime datenfeeds von einer bestimmten URL, das Parsen als FeedMessage (der Stammtyp des GTFS-Realtime schemas) und die Iteration der Ergebnisse.
require_once 'vendor/autoload.php';
use transit_realtime\FeedMessage;
$data = file_get_contents("URL OF YOUR GTFS-REALTIME SOURCE GOES HERE");
$feed = new FeedMessage();
$feed->parse($data);
foreach ($feed->getEntityList() as $entity) {
if ($entity->hasTripUpdate()) {
error_log("trip: " . $entity->getId());
}
}
Weitere Einzelheiten zu den Namenskonventionen für die PHP-Klassen, die aus dem gtfs-realtime.proto generiert werden, finden Sie in der Quelldatei gtfs-realtime.php.