Binding Bahasa PHP GTFS-realtime¶
Menyediakan kelas PHP yang dihasilkan dari spesifikasi ProtocolBuffer GTFS-realtime . Kelas ini akan memungkinkan Anda mengurai umpan data GTFS-realtime biner ProtocolBuffer ke dalam objek PHP.
Untuk binding dalam bahasa lain, lihat project gtfs-realtime-bindings .
Usang
Mulai Februari 2019, alat protoc Google resmi google-protobuf
tidak mendukung file proto2 . Akibatnya, kami tidak lagi menggunakan PHP binding hingga dukungan resmi untuk file proto2 diterapkan di alat penyangga protokol Google.
Tambahkan Ketergantungan¶
Untuk menggunakan kelas gtfs-realtime-bindings-php
di proyek Anda sendiri, Anda harus menginstal paket Packagist Composer terlebih dahulu . Untuk melakukannya, tambahkan dependensi di file composer.json
Anda:
"require": {
"google/gtfs-realtime-bindings": "x.y.z"
}
Di mana x.y.z
adalah versi rilis terbaru:
Kemudian perbarui dependensi Composer Anda:
composer update
Kode Contoh¶
Cuplikan kode berikut menunjukkan pengunduhan umpan data GTFS-realtime dari URL tertentu, menguraikannya sebagai FeedMessage (jenis root dari skema GTFS-realtime), dan mengulangi hasilnya.
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());
}
}
Untuk detail selengkapnya tentang konvensi penamaan kelas PHP yang dihasilkan dari gtfs-realtime.proto , lihat file sumber gtfs-realtime.php .