adewra/traffic-scotland

访问苏格兰交通现状、实时交通摄像头、突发事件、道路施工、未来道路施工、交通状况、可变信息标志和行程时间。

v0.8.5 2020-07-22 20:03 UTC

This package is auto-updated.

Last update: 2024-09-23 06:04:00 UTC


README

一个用于通过苏格兰交通局获取最新交通信息的包。

主要用于Laravel & Lumen框架,您只需将此包放入任何使用Composer的PHP项目中即可。

目录

安装

使用composer安装

composer require adewra/traffic-scotland

Laravel/Lumen版本兼容性

对于低于5.5的Lumen和Laravel版本,您还需要在config/app.php中添加服务提供者

Adewra\TrafficScotland\TrafficScotlandServiceProvider::class,

升级

此包仍在预发布阶段,升级说明将在第一个更新正式发布时提供。

测试

./vendor/bin/phpunit

配置

要发布配置文件,请运行

> php artisan vendor:publish --tag=config --tag=migrations --tag=seeds

这将复制配置文件到config/trafficscotland.php

以下是一个示例(也是默认配置)

    'functionality' => [
        'incidents' => true,
        'roadworks' => [
            'current' => true,
            'planned' => true,
        ],
        'events' => true,
    ],
    'collection_methods' => [
        'api' => true,
        'rss_feeds' => false,
        'webpage_scraping' => false,
    ],
    'storage' => true

要运行我们的数据库迁移,以便存储数据

php artisan migrate --path=/packages/adewra/trafficscotland/src/migrations

故障排除

故障排除尚未编写。

包功能

MVP &潜在未来功能

  • 事件
  • 道路施工(当前和计划中)
  • 活动(及地点)
  • 状态/拥堵
  • 交通摄像头
  • 排队
  • 停车和乘坐
  • 公告
  • 天气事件
  • 气象站
  • 警方出行警告
  • 可变信息标志
  • 高速公路英格兰
  • 新闻
  • 融雪剂

方法

获取信息的首选方法是使用Traffic Scotland的API,该API用于其网站的移动版本。

其他方法包括使用Datex II服务、RSS源或通过抓取网页。

示例

检索当前事件

  $incidents = TrafficScotland::incidents();
  php artisan trafficscotland:incidents
  php artisan tinker
  >>> Adewra\TrafficScotland\Incident::all();

检索道路施工

 $roadworks = TrafficScotland::roadworks(true, true);
 php artisan trafficscotland:roadworks
 php artisan tinker
 >>> Adewra\TrafficScotland\Roadwork::all();

检索活动

 $roadworks = TrafficScotland::events();
 php artisan trafficscotland:events
 php artisan tinker
 >>> Adewra\TrafficScotland\Event::all();
 >>> Adewra\TrafficScotland\Venue::all();

经验教训

  • 我最初选择的HTTP客户端Goutte无法处理苏格兰交通局网站的基于javascript的导航,因此我本应从一开始就选择Selenium 2。使用Behat的Mink,我能够轻松地在两者之间切换。