kvd/services

包含通往各种网络服务的网关库。

0.1.0 2013-07-27 21:21 UTC

This package is not auto-updated.

Last update: 2024-09-23 14:38:22 UTC


README

本库包含用于从php调用AGIV的一些服务的代码。提供接口,例如CaPaKey服务和CRAB服务。要使用CaPaKey服务,您需要访问权限。您可以在AGIV的网站上获得登录名和密码(http://www.agiv.be)。CRAB服务属于公开数据,可自由访问。

构建状态

travis-ci status

单元测试的使用

本库的开发伴随着相应的单元测试。为了检查代码在您的系统上是否正常工作,您可以执行这些测试。为此,您需要一个最新的PHPUnit版本(3.5或3.6)和一个最新的Phing版本(2.4)。

在执行capakey webservice的测试之前,您必须公开您的用户名和密码。通过创建一个名为build.properties的文件并设置以下内容来完成此操作

crab.run_integration_tests=false

capakey.user=<gebruiker>
capakey.password=<wachtwoord>
capakey.run_integration_tests=false

用从AGIV获得的信息替换。run_integration_tests参数表示是否应使用直接调用webservice的单元测试。如果它设置为false,则只测试可以通过mock连接测试的内容。

以下是如何执行单元测试

phing runTests

如果您想获得有关代码覆盖率的完整报告,请执行以下操作

phing genTestReports

此命令将在build/reports/coverage目录中创建一个目录,您可以查看哪些代码片段被单元测试覆盖。

CaPaKey网关

###示例

创建网关。

use KVD\Services\Agiv\caPaKey\SoapClient;                                          
use KVD\Services\Agiv\CaPaKey\CaPaKeyGateway;

$wsdl = 'http://ws.agiv.be/capakeyws/nodataset.asmx?WSDL';
$client = new SoapClient( $wsdl, array( 'trace' => 1 ) );
$client->setAuthentication( $gebruiker, $wachtwoord );
$gateway = new CaPaKeyGateway( $client );

下钻到一块土地。

$gemeenten = $gateway->listGemeenten( );
$gemeente = $gemeenten[0];
$afdelingen = $gateway->listKadastraleAfdelingenByGemeente( $gemeente );
$afdeling = $afdelingen[0];
$secties = $gateway->listSectiesByAfdeling( $afdeling );
$sectie = $secties[0];
$percelen = $gateway->listPercelenBySectie( $sectie );
$perceel = $percelen[0];
echo $perceel->getCaPaKey();

根据CaPaKey直接获取一块土地的信息。

$capakey = '40613A1154/02C000';
$perceel = $gateway->getPerceelByCaPaKey( $capakey );
echo 'Gemeente: ' . $perceel->getSectie()->getAfdeling()->getGemeente()->getNaam() . "\n";
echo 'Afdeling: ' . $perceel->getSectie()->getAfdeling()->getNaam() . "\n";
echo 'Sectie: ' . $perceel->getSectie()->getId() . "\n";
echo 'Perceelsnummer: ' . $perceel->getId() . "\n";

CRAB网关

与CaPaKey网关以及以前的版本不同,您不需要密码即可使用CRAB服务。

###示例

创建网关。

use KVD\Services\Agiv\Crab\SoapClient;                                          
use KVD\Services\Agiv\Crab\CrabGateway;

$wsdl = 'http://crab.agiv.be/wscrab/wscrab.svc?wsdl';
$client = new SoapClient( $wsdl, array( 'trace' => 1 ) );
$gateway = new CrabGateway( $client );

下钻到一栋房屋的地址。

$gemeenten = $gateway->listGemeentenByGewestId( );
$gemeente = $gemeenten[0];
$straten = $gateway->listStratenByGemeente( $gemeente );
$straat = $straten[0];
$huisnummers = $gateway->listHuisnummersByStraat( $straat );
$huisnummer = $huisnummers[0];
echo $huisnummer->getStraat()->getLabel() . ' ' . $huisnummer->getId() . PHP_EOL;