neilmcgibbon/php-open-rail-data
Composer 安装命令:
composer require neilmcgibbon/php-open-rail-data
包简介
A PHP libary for processing API events from the Open Rail Data initiative
README 文档
README
A PHP library to consume data from the Open Rail Data initiative.
At present only Stomp (ActiveMQ) data for Network Rail is supported, but I will be adding support for Static Network Rail data (such as Schedule) and Stomp support for National Rail in the near future.
Installation
This is done via composer (packagist). Add the following to your composer.json file:
{
"require": {
"neilmcgibbon/php-open-rail-data": "0.1.0"
}
}
Currently supported data feeds:
- Network Rail
- ActiveMQ realtime feeds (via Stomp)
- RTPPM - Real Time Passenger Performance Measurements
- VSTP - Very Short Term Planning
- Train Movements - Cancellations, Activations, Reinstatements, etc.
- TD - Train Describer events
- ActiveMQ realtime feeds (via Stomp)
###Feeds not yet supported
-
Network Rail
- ActiveMQ realtime feeds (via Stomp)
- TSR - Temporary Speed Restrictions
- Static feeds (via HTTP)
- Schedule - Schedule data
- Reference Data - Reference data
- ActiveMQ realtime feeds (via Stomp)
-
National Rail
- all feed types
Usage:
Stomp - Network Rail events
Events are processed via the observer / event dispatcher pattern
Example:
To listen for Real Time Passenger Performance Measurements (RTPPM events), and then dump out the number of late trains on the "National Page" level:
Create the event listener
class ExampleEventListener { public function onEventReceived(RtppmEvent $event) { echo "Received event. National page late trains count: "; echo $event->getNationalPage()->getPerformance()->getLateCount() . PHP_EOL; } }
Create the connection and start listening
$connection = new \OpenRailData\NetworkRail\Services\Stomp\Connection( "network_rail_username", "network_rail_password" ); // Create the Topic. $topic = new OpenRailData\NetworkRail\Services\Stomp\Topics\Rtppm\RtppmTopic(); // Add our event listener to the topic $topic->addListener(new ExampleEventListener()); // Subscribe to the topic by adding the topic to the connection $connection->addTopic($topic); // Start listening for events, the rest is handled by our event listener :-) $connection->listen();
And thats it!
More documentation and functionality to follow. Please also see the /examples dir for more examples.
neilmcgibbon/php-open-rail-data 适用场景与选型建议
neilmcgibbon/php-open-rail-data 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 30 次下载、GitHub Stars 达 2, 最近一次更新时间为 2015 年 06 月 02 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 neilmcgibbon/php-open-rail-data 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 neilmcgibbon/php-open-rail-data 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 30
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 17
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2015-06-02