PHP GTFS-realtime Language Bindings¶
GTFS-realtime プロトコルバッファ仕様から生成された PHP クラスを提供します。これらのクラスを使用すると、バイナリ プロトコルバッファ GTFS-realtime データフィードを PHP オブジェクトに解析できます。
他の言語のバインディングについては、gtfs-realtime-bindings プロジェクトをご覧ください。
非推奨
2019年2月現在、公式の google-protobuf
Google プロトコル ツールは proto2 ファイルをサポートしていません。そのため、proto2 ファイルの公式サポートが Google プロトコル バッファツールに実装されるまで、PHP バインディングは非推奨となります。
依存関係を追加する¶
独自のプロジェクトでgtfs-realtime-bindings-php
クラスを使用するには、まず Packagist Composer パッケージ をインストールする必要があります。これを行うには、 composer.json
ファイルに依存関係を追加します:
"require": {
"google/gtfs-realtime-bindings": "x.y.z"
}
xyz
は最新のリリース バージョンです:
次に、Composer の依存関係を更新します:
composer update
サンプル コード¶
次のコード スニペットは、特定の URL から GTFS リアルタイム データ フィードをダウンロードし、それをFeedMessage (GTFS リアルタイム スキーマのルート タイプ) として解析し、結果。
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());
}
}
gtfs-realtime.proto から生成される PHP クラスの命名規則の詳細については、gtfs-realtime.php ソース ファイル を参照してください。