PHP GTFS-Realtime 언어 바인딩¶
GTFS-realtime ProtocolBuffer 사양에서 생성된 PHP 클래스를 제공합니다. 이러한 클래스를 사용하면 바이너리 ProtocolBuffer GTFS-realtime 데이터 피드를 PHP 개체로 파싱할 수 있습니다.
다른 언어로 된 바인딩은 gtfs-realtime-bindings 프로젝트를 참조하세요.
더 이상 사용되지 않음
2019년 2월부터 공식 google-protobuf
Google protoc 도구 는 proto2 파일을 지원하지 않습니다 . 결과적으로 우리는PHP proto2 파일에 대한 공식 지원이 Google 프로토콜 버퍼 도구에서 구현될 때까지 바인딩됩니다.
종속성 추가¶
자신의 프로젝트에서 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 소스 파일 을 확인하세요.