Estou principalmente brincando com o PHP para me acostumar mais para orientação de objetos, em vez de fazer apenas PHP processual o tempo todo. Na minha jornada, fiz uma biblioteca PHP reutilizável para a API da Philadelphia Indego Bike Share!
Confira a cidade da Filadélfia Github se você acha que esta biblioteca é interessante!
Quando combinado com a classe Indego fornecida, o código a seguir gerará a saída de exemplo na próxima seção:
// Require the Indego class
require_once('Indego.class.php');
// Instantiate the Indego class which will immediately discover all of the stations
$indego = new Indego;
// Just get "university" stations
$uni_stations = $indego->getStations('university');
print_r($uni_stations);
Fornecer um argumento/filtro para getStations() para retornar uma lista de estações apenas limita os resultados da classe Indego .
Infelizmente, não parece haver uma quantidade significativa de documentação para a API que está sendo usada nem parece haver parâmetros disponíveis para limitar as estações que estão sendo recuperadas da API.
Chamar getStations() sem nenhum argumento retornará uma lista de todas ( atualmente , 103) estações!
$ php example.php
Array
(
[3008] => stdClass Object
(
[addressStreet] => 1076 Berks Street
[addressCity] => Philadelphia
[addressState] => PA
[addressZipCode] => 19122
[bikesAvailable] => 9
[closeTime] => 23:58:00
[docksAvailable] => 8
[eventEnd] =>
[eventStart] =>
[isEventBased] =>
[isVirtual] =>
[kioskId] => 3008
[kioskPublicStatus] => Active
[name] => Temple University Station
[openTime] => 00:02:00
[publicText] =>
[timeZone] => Eastern Standard Time
[totalDocks] => 19
[trikesAvailable] => 0
[coordinates] => Array
(
[0] => -75.14973
[1] => 39.98082
)
)
[3020] => stdClass Object
(
[addressStreet] => 3051 South St.
[addressCity] => Philadelphia
[addressState] => PA
[addressZipCode] => 19147
[bikesAvailable] => 18
[closeTime] => 23:58:00
[docksAvailable] => 17
[eventEnd] =>
[eventStart] =>
[isEventBased] =>
[isVirtual] =>
[kioskId] => 3020
[kioskPublicStatus] => Active
[name] => University City Station
[openTime] => 00:02:00
[publicText] =>
[timeZone] => Eastern Standard Time
[totalDocks] => 35
[trikesAvailable] => 0
[coordinates] => Array
(
[0] => -75.18986
[1] => 39.94887
)
)
)
O script indego-cli.php incluído é um script PHP de linha de comando divertido que escrevi, que usa a classe/biblioteca Indego para obter os dados de compartilhamento de bicicletas da API da cidade!