calcinai / siri
此软件包最新版本(v1.0.1)没有提供许可证信息。
实时信息 SDK 服务接口
v1.0.1
2019-07-20 02:50 UTC
Requires
- goetas-webservices/xsd2php-runtime: ^0.2.10
Requires (Dev)
- goetas-webservices/xsd2php: ^0.3.8
This package is auto-updated.
Last update: 2024-09-20 14:27:21 UTC
README
然后可以使用 HTTP 客户端(如 Guzzle)发布生成的 XML
安装
使用 composer
composer require calcinai/siri
示例
序列化
use Calcinai\Siri\Objects\Siri; use Calcinai\Siri\Objects\ServiceRequest; use Calcinai\Siri\Objects\VehicleMonitoringRequest; use Calcinai\Siri\Serializer $requestTimestamp = new DateTime(); $siri = new Siri(); $request = new ServiceRequest(); $vmRequest = new VehicleMonitoringRequest(); $siri->setVersion(1.3) ->setServiceRequest($request); $vmRequest->setVersion(1.3) ->setVehicleRef('3706') ->setRequestTimestamp($requestTimestamp); $request->setVehicleMonitoringRequest($vmRequest) ->setRequestTimestamp($requestTimestamp) ->setRequestorRef('Requestor'); $serializer = new Serializer(); $xml = $serializer->serialize($siri); echo $xml;
将产生如下 XML
<?xml version="1.0" encoding="UTF-8"?> <Siri xmlns="http://www.siri.org.uk/siri" version="1.3"> <ServiceRequest> <RequestTimestamp>2019-07-18T23:08:07+00:00</RequestTimestamp> <RequestorRef>Requestor</RequestorRef> <VehicleMonitoringRequest version="1.3"> <RequestTimestamp>2019-07-18T23:08:07+00:00</RequestTimestamp> <VehicleRef>3706</VehicleRef> </VehicleMonitoringRequest> </ServiceRequest> </Siri>
反序列化
上述 XML 可以反序列化以重新创建对象结构
$siri = $serializer->deserialize($xml); print_r($siri); //The root siri object
致谢
此代码几乎完全由 xsd2php 生成,感谢 @goetas-webservices!