Pular para conteúdo

Ligações da linguagem PHP GTFS-realtime

Versão PHP

Fornece classes PHP geradas a partir da especificação do GTFS-realtime ProtocolBuffer. Estas classes permitirão a você analisar uma alimentação de dados binários do ProtocolBuffer GTFS-realtime em objetos PHP.

Para ver os bindings em outras linguagens, veja the gtfs-realtime-bindings project.

Depreciado

Desde fevereiro de 2019, a ferramenta oficial google-protobuf Google protoc não suporta arquivos proto2. Como resultado, estamos depreciando os bindings PHP até que o suporte oficial aos arquivos de proto2 seja implementado nas ferramentas de buffer do protocolo Google.

Adicionar a Dependência

Para utilizar as classes gtfs-realtime-bindings-php em seu próprio projeto, você precisa primeiro instalar o Packagist Composer package. Para doso, adicione uma dependência em seu arquivo composer.json:

"require": {
  "google/gtfs-realtime-bindings": "x.y.z"
}

Onde x.y.z é a última versão lançada:

Versão PHP

Em seguida, atualize suas dependências do Composer:

composer update

Código de exemplo

O seguinte trecho de código demonstra o download de um feed de dados em GTFS-realtime de uma URL específica, analisando-o como um FeedMessage (o tipo raiz do esquema em GTFS-realtime), e iterando sobre os resultados.

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());
  }
}

Para mais detalhes sobre as convenções de nomenclatura das classes PHP geradas a partir do arquivo gtfs-realtime.proto, verifique o arquivo fonte gtfs-realtime.php.