mrcnpdlk / teryt-api
Teryt WS1 Api
1.1.0
2024-01-22 10:17 UTC
Requires
- php: >=7.2
- ext-dom: *
- ext-soap: *
- mrcnpdlk/lib-configuration: ^0
- mrcnpdlk/lib-exception: ^0
- mrcnpdlk/psr16cache-adapter: ^0
- robrichards/wse-php: ^2
Requires (Dev)
Suggests
README
TERYT WS1 API - 波兰地址数据库
安装
使用 composer 安装最新版本
composer require mrcnpdlk/teryt-api
基本用法
缓存
库支持基于 PSR-16 标准的缓存包。
以下示例使用了 phpfastcache/phpfastcache。 phpfastcache/phpfastcache
支持许多端点,例如 Files
、Sqlite
、Redis
以及许多其他。有关缓存使用和配置的更多信息,请参阅此 Wiki。
/** * Cache in system files */ $oInstanceCacheFiles = new \phpFastCache\Helper\Psr16Adapter('files');
日志
库还支持基于 PSR-3 标准的日志包,例如非常流行的 monolog/monolog。
$oInstanceLogger = new \Monolog\Logger('name_of_my_logger'); $oInstanceLogger->pushHandler(new \Monolog\Handler\ErrorLogHandler( \Monolog\Handler\ErrorLogHandler::OPERATING_SYSTEM, \Psr\Log\LogLevel::DEBUG ) );
Teryt 认证
TERYT WS1 服务基于 SOAP 协议
提供 API。有关服务的更多信息,请参阅此 网站。有两种方式连接到服务器:
生产数据库
- 您需要登录名/密码测试数据库
- 默认认证使用默认登录名/密码对
首先,我们需要调用 setTerytConfig()
方法配置连接,并可选地设置缓存和日志实例
use mrcnpdlk\Teryt\Client; use mrcnpdlk\Teryt\NativeApi; use mrcnpdlk\Teryt\Config; $oConfig = new Config([ 'logger' => $oInstanceLogger, 'cache' => $oInstanceCacheFiles, 'username' => 'my_login', 'password' => 'my_password', 'isProduction' => true, ]); $oNativeApi = NativeApi::create($oConfig);
然后,我们能够调用 NativeApi 类中定义的辅助静态方法,例如
var_dump($oNativeApi->CzyZalogowany()); var_dump($oNativeApi->PobierzSlownikCechULIC()); var_dump($oNativeApi->WyszukajMiejscowosc('skiernie',null));
定义的方法 (\mrcnpdlk\Teryt\NativeApi
)
几乎所有的官方文档中的方法都已映射和定义。
以下为 \mrcnpdlk\Teryt\NativeApi
的完整列表
通用
TERC 目录
NTS 目录
ULIC 目录
SIMC 目录
字典
目录
变更
验证
搜索
定义的方法 (\mrcnpdlk\Teryt\Api
)
$oApi = new \mrcnpdlk\Teryt\Api($oClient); print_r($oApi->getCity('0700884'));
mrcnpdlk\Teryt\Model\City Object
(
[id] => 0700884
[parentId] => 0700884
[rmId] => 01
[rmName] => wieś
[name] => Burzenin
[commune] => mrcnpdlk\Teryt\Model\Commune Object
(
[id] => 101414
[tercId] => 1014052
[name] => Burzenin
[typeId] => 2
[typeName] => gmina wiejska
[district] => mrcnpdlk\Teryt\Model\District Object
(
[id] => 1014
[name] => sieradzki
[typeName] => powiat
[province] => mrcnpdlk\Teryt\Model\Province Object
(
[id] => 10
[name] => ŁÓDZKIE
)
)
)
)