itmedia / zippy-bus-bundle
与ZippyBus.com服务的集成
v0.1.0
2017-09-04 13:36 UTC
Requires
- php: ^7.0
- guzzlehttp/guzzle: ^6.0
- psr/simple-cache: ^1.0
Requires (Dev)
- phpunit/phpunit: ^6.0
This package is not auto-updated.
Last update: 2024-09-25 03:12:13 UTC
README
与ZippyBus.com服务的集成
- Symfony 3.0+
- 原生PHP 7.0+
安装和配置
composer require itmedia/zippy-bus-bundle
Symfony 3
app/AppKernel.php
<?php class AppKernel extends Kernel { public function registerBundles() { $bundles = [ // ... new Itmedia\ZippyBusBundle\ItmediaZippyBusBundle(), ]; } // ... }
app/config/config.yml
itmedia_zippy_bus: token: 'my_token' # Токен, выданный сервисом cache_ttl: 3600 # Время жизни кэша (секунд). По умолчанию 3600 (1 час)
获取访问时刻表的服务
$zippyBusProvider = $container->get('itmedia_zippy_bus.provider');
不使用Symfony
在这种情况下,需要手动收集必要的服务(ZippyBusProvider)。
<?php use \Itmedia\ZippyBusBundle\Client\ZippyBusClient; use \Itmedia\ZippyBusBundle\ZippyBusProvider; use \Itmedia\ZippyBusBundle\Factory\ScheduleObjectFromArrayFactory; // Токен, выданный сервисом $token = 'my_token'; // Любая библиотека кэширования с поддержкой PSR6 Simple cache, например https://github.com/symfony/cache $cache = new Cache(); // Время жизни кэша (секунд). По умолчанию 3600 (1 час) $cacheTtl = 3600; $apiClient = new ZippyBusClient($token, $cache, $cacheTtl); $zippyBusProvider = new ZippyBusProvider($apiClient, new ScheduleObjectFromArrayFactory());
使用示例
// Текущая дата расписания $scheduleDate = ScheduleDate::createNow(); // Город (Лида) $city = $zippyBusProvider->getCity(1); // Доступные маршруты с направлениями на текущую дату $routes = $zippyBusProvider->getRoutes($city, $scheduleDate); // $direction = $route->getDirections()[0]; // Получить список остановок с расписанием движения для каждой остановки $stops = $this->zippyBus()->getDirectionStops($direction); ``