bugrov / yandex-schedule
PHP SDK Яндекс.Расписаний
dev-main
2022-10-23 15:31 UTC
Requires
- php: >=7.4
- guzzlehttp/guzzle: 7.0
Requires (Dev)
- symfony/var-dumper: ^5.4
This package is auto-updated.
Last update: 2024-09-10 16:48:30 UTC
README
安装
支持通过包管理器安装。
$ composer require bugrov/yandex-schedule dev-main
或者
$ php composer.phar require bugrov/yandex-schedule dev-main
如何连接到 Яндекс.Расписания
在使用可用方法之前,调用 setApiKey 方法,并传入 API 密钥
\BugrovWeb\YandexSchedule\Transport::setApiKey('your-api-key');
配置和获取参数
setApiKey 方法
设置访问 Яндекс站点的密钥
public static function setApiKey(string $apiKey)
$apiKey - API 密钥(更多获取信息在此)
使用示例
\BugrovWeb\YandexSchedule\Transport::setApiKey('your-api-key');
getApiKey 方法
获取先前设置的 API 密钥
public static function getApiKey()
使用示例
echo \BugrovWeb\YandexSchedule\Transport::getApiKey();
setFormat 方法
设置返回数据的格式
public static function setFormat(string $format)
$format - 返回数据的格式。允许的值 - json,xml
使用示例
\BugrovWeb\YandexSchedule\Transport::setFormat('xml');
getFormat 方法
获取先前设置的返回数据格式
public static function getFormat()
使用示例
echo \BugrovWeb\YandexSchedule\Transport::getFormat();
setLang 方法
设置返回信息的语言
public static function setLang(string $lang)
$lang - 语言代码,格式为 <语言代码>_<国家代码>。支持的值 - ru_RU 和 uk_UA
使用示例
\BugrovWeb\YandexSchedule\Transport::setLang('ru_RU');
getLang 方法
获取先前设置的返回信息语言
public static function getLang()
使用示例
echo \BugrovWeb\YandexSchedule\Transport::getLang();
操作 Яндекс.Расписания
getScheduleBetweenStations 方法
获取从指定出发站到指定到达站的航班列表以及每个航班的详细信息
public static function getScheduleBetweenStations(string $from, string $to, string $system = Transport::SYSTEM_TYPE_YANDEX, string $showSystems = Transport::SYSTEM_TYPE_YANDEX, string $date = null, string $transportTypes = null, int $offset = 0, int $limit = 100, bool $addDaysMask = false, bool $transfers = false)
$from- 出发站代码。必须在 编码系统 中指定$to- 到达站代码。必须在 编码系统 中指定$system- 编码系统,用于指定请求中的出发站和到达站代码(from,to)参数。可能的值yandex或Transport::SYSTEM_TYPE_YANDEX(默认值)iata或Transport::SYSTEM_TYPE_IATAsirena或Transport::SYSTEM_TYPE_SIRENAexpress或Transport::SYSTEM_TYPE_EXPRESSesr或Transport::SYSTEM_TYPE_ESR
$showSystems- 编码系统,其代码应添加到搜索结果中站点的描述(from 和 to 中的 codes 元素)。支持的值yandex或Transport::SYSTEM_TYPE_YANDEX(默认值)esr或Transport::SYSTEM_TYPE_ESR
$date- 需要获取航班列表的日期。可选$transportTypes- 交通工具类型。可选。可能的值plane或Transport::TRANSPORT_TYPE_PLANEtrain或Transport::TRANSPORT_TYPE_TRAINsuburban或Transport::TRANSPORT_TYPE_SUBURBANbus或Transport::TRANSPORT_TYPE_BUSwater或Transport::TRANSPORT_TYPE_WATERhelicopter或Transport::TRANSPORT_TYPE_HELICOPTER
$offset- 相对于第一个搜索结果的偏移量。默认为 0$limit- 响应中搜索结果的最大数量。默认为 100$addDaysMask- 标志,指示对于每个结果应返回行程日历 - segments 元素中的 schedule 元素。支持的值false- 不返回行程日历(默认值)true- 对于每个线程返回行程日历
$transfers- 允许将带有转乘的路线添加到搜索结果中。支持的值false- 搜索结果中不应包含带有转乘的路线(默认值)true- 将带有转乘的路线添加到搜索结果中
使用示例
Transport::setApiKey('your-api-key'); $res = Transport::getScheduleBetweenStations('c146', 'c213');
getScheduleOfFlightsByStation 方法
获取从指定站出发的航班列表以及每个航班的详细信息
public static function getScheduleOfFlightsByStation(string $station, string $system = Transport::SYSTEM_TYPE_YANDEX, string $showSystems = Transport::SYSTEM_TYPE_YANDEX, string $date = null, string $transportTypes = null, string $direction = null, string $event = Transport::EVENT_TYPE_DEPARTURE)
$station- 站点代码。必须在 编码系统 中指定$system- 编码系统,其中指定了请求中站点的代码(station 参数)。可能值yandex或Transport::SYSTEM_TYPE_YANDEX(默认值)iata或Transport::SYSTEM_TYPE_IATAsirena或Transport::SYSTEM_TYPE_SIRENAexpress或Transport::SYSTEM_TYPE_EXPRESSesr或Transport::SYSTEM_TYPE_ESR
$showSystems- 编码系统,在其中需要获取站点的代码(在响应中的 station 元素内嵌的 codes 元素)。可能值yandex或Transport::SYSTEM_TYPE_YANDEX(默认值)esr或Transport::SYSTEM_TYPE_ESRall或Transport::SYSTEM_TYPE_ALL
$date- 需要获取航班列表的日期。可选$transportTypes- 交通工具类型。可选。可能的值plane或Transport::TRANSPORT_TYPE_PLANEtrain或Transport::TRANSPORT_TYPE_TRAINsuburban或Transport::TRANSPORT_TYPE_SUBURBANbus或Transport::TRANSPORT_TYPE_BUSwater或Transport::TRANSPORT_TYPE_WATERhelicopter或Transport::TRANSPORT_TYPE_HELICOPTER
$direction- 需要获取车站电车的航班列表的方向代码(例如,“arrival”、“all”或“去莫斯科”)$event- 需要从时刻表中过滤线程的事件。支持的值departure或Transport::EVENT_TYPE_DEPARTURE(默认值)arrival或Transport::EVENT_TYPE_ARRIVAL
使用示例
Transport::setApiKey('your-api-key'); $res = Transport::getScheduleOfFlightsByStation('s9600213');
方法 getListOfStations
获取线程指定标识符的行程列表,每个线程的信息以及线程的中间站信息
public static function getListOfStations(string $uid, string $showSystems = null, string $date = null, string $from = null, string $to = null)
$uid- 谷歌.时刻表中的线程标识符$showSystems- 编码系统,在其中需要获取站点的代码(在响应中的 station 元素内嵌的 codes 元素)。可选。可能值yandex或Transport::SYSTEM_TYPE_YANDEXesr或Transport::SYSTEM_TYPE_ESRall或Transport::SYSTEM_TYPE_ALL
$date- 需要获取航班列表的日期。可选$from- 出发站代码。必须在 编码系统 中指定$to- 到达站代码。必须在 编码系统 中指定
使用示例
Transport::setApiKey('your-api-key'); $res = Transport::getListOfStations('932X_1_2');
方法 getListOfNearestStations
获取距离指定点指定半径内的站点列表。返回的站点最大数量为 50
public static function getListOfNearestStations(string $lat, string $lng, int $distance, int $offset = 0, int $limit = 100, string $stationTypes = null, string $transportTypes = null)
$lat- 纬度$lng- 经度$distance- 在其中搜索站点的半径,单位为公里$offset- 相对于第一个搜索结果的偏移量。默认为 0$limit- 响应中搜索结果的最大数量。默认为 100$stationTypes- 要查询的站点类型(可以通过逗号分隔多个类型)。可选。支持的值station- 站点platform- 月台stop- 乘车站点checkpoint- 检查站post- 邮政局crossing- 分岔口overtaking_point- 超车点train_station- 车站airport- 机场bus_station- 客运站bus_stop- 公交车站unknown- 没有类型的站点port- 港口port_point- 港口点wharf- 码头river_port- 河港marine_station- 海港
$transportTypes- 要搜索的交通工具类型。可以通过逗号同时指定多个类型,例如,plane,train,bus。可选。支持的值plane或Transport::TRANSPORT_TYPE_PLANEtrain或Transport::TRANSPORT_TYPE_TRAINsuburban或Transport::TRANSPORT_TYPE_SUBURBANsea或Transport::TRANSPORT_TYPE_SEAriver或Transport::TRANSPORT_TYPE_RIVERhelicopter或Transport::TRANSPORT_TYPE_HELICOPTER
使用示例
Transport::setApiKey('your-api-key'); $res = Transport::getListOfNearestStations('50.440046', '40.4882367', 50);
方法 getNearestCity
获取距离指定点最近的城市的详细信息
public static function getNearestCity(string $lat, string $lng, int $distance = 10)
$lat- 纬度$lng- 经度$distance- 在其中搜索最近城市的半径,单位为公里(默认值为 10)
使用示例
Transport::setApiKey('your-api-key'); $res = Transport::getNearestCity('50.440046', '40.4882367', 50);
方法 getCarrierInfo
根据指定的运营商代码获取运营商信息
public static function getCarrierInfo(string $code, string $system = Transport::SYSTEM_TYPE_YANDEX)
$code- 运营商代码$system- 编码系统,在其中指定运营商代码(参数 code)在请求中。可能值yandex或Transport::SYSTEM_TYPE_YANDEX(默认值)iata或Transport::SYSTEM_TYPE_IATAsirena或Transport::SYSTEM_TYPE_SIRENAexpress或Transport::SYSTEM_TYPE_EXPRESSesr或Transport::SYSTEM_TYPE_ESR
使用示例
Transport::setApiKey('your-api-key'); $res = Transport::getCarrierInfo('TK', Transport::SYSTEM_TYPE_IATA);
方法 getAllAvailableStations
获取由谷歌.时刻表提供信息的所有站点的完整列表
public static function getAllAvailableStations()
使用示例
Transport::setApiKey('your-api-key'); $res = Transport::getAllAvailableStations();
方法 getCopyright
获取有关谷歌.时刻表的数据:服务器的 URL、不同颜色表示的横幅和通知文本
public static function getCopyright()
使用示例
Transport::setApiKey('your-api-key'); $res = Transport::getCopyright();