kvd /services
包含通往各种网络服务的网关库。
0.1.0
2013-07-27 21:21 UTC
Requires
- php: >=5.3.0
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服务属于公开数据,可自由访问。
构建状态
单元测试的使用
本库的开发伴随着相应的单元测试。为了检查代码在您的系统上是否正常工作,您可以执行这些测试。为此,您需要一个最新的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;