itmedia/zippy-bus-bundle

与ZippyBus.com服务的集成

安装: 19

依赖项: 0

建议者: 0

安全性: 0

星级: 3

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

v0.1.0 2017-09-04 13:36 UTC

This package is not auto-updated.

Last update: 2024-09-25 03:12:13 UTC


README

Scrutinizer Code Quality Build Status

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);
``