跳轉到

PHP GTFS-realtime語言綁定

PHP版本

提供從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是最新發布版本:

PHP版本

然後更新您的 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 源文件