PHP GTFS-realtime語言綁定¶
提供從GTFS-realtimeProtocolBuffer 規範生成的 PHP 類。這些類將允許您將二進制 ProtocolBuffer GTFS-realtime數據饋送解析為 PHP 對象。
對於其他語言的綁定,請參閱gtfs-realtime-bindings項目。
棄用
截至 2019 年 2 月,官方google-protobuf
谷歌協議工具不支持 proto2 文件。因此,我們棄用了PHP綁定,直到在 Google 協議緩衝區工具中實現對 proto2 文件的正式支持。
添加依賴項¶
要在您自己的項目中使用gtfs-realtime-bindings-php
類,您需要首先安裝Packagist Composer 包。為此,請在composer.json
文件中添加依賴項:
"require": {
"google/gtfs-realtime-bindings": "x.y.z"
}
其中x.y.z
是最新發布版本:
然後更新您的 Composer 依賴項:
composer update
示例代碼¶
以下代碼片段演示了從特定 URL 下載 GTFS-realtime數據提要,將其解析為 FeedMessage(GTFS-realtime 架構的根類型),並迭代結果。
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 源文件。