velhron / dadata-bundle
DaData for Symfony
v1.6.0
2024-06-28 07:27 UTC
Requires
- php: ^7.1|^8.0
- ext-json: *
- symfony/config: ^4.4|^5.0|^6.0|^7.0
- symfony/dependency-injection: ^4.4|^5.0|^6.0|^7.0
- symfony/http-client: ^4.4|^5.0|^6.0|^7.0
- symfony/http-kernel: ^4.4|^5.0|^6.0|^7.0
- symfony/yaml: ^4.4|^5.0|^6.0|^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- phpstan/phpstan: ^0.12.25
- symfony/phpunit-bridge: ^4.4|^5.0|^6.0|^7.0
README
描述
Symfony DaDataBundle 用于与ДаДата API 服务交互。
安装
可以使用 Composer 安装此包。
使用 Symfony Flex 的应用程序
打开命令行界面,切换到您的项目目录,然后执行以下命令
composer require velhron/dadata-bundle
不使用 Symfony Flex 的应用程序
步骤 #1: 下载包
打开命令行界面,切换到您的项目目录,然后执行以下命令,以下载此包的最新稳定版本
composer require velhron/dadata-bundle
步骤 #2: 激活包
通过将包添加到文件 app/AppKernel.php
中的注册包列表来启用该包
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new Velhron\DadataBundle\VelhronDadataBundle(), ); // ... } // ... }
配置
创建配置文件 config/packages/dadata.yaml
示例
velhron_dadata: token: 'token' secret: 'secret' # Если у вас инфраструктура состоит из n-сервисов, которые обращаются в dadata, то для контроля запросов в dadata # в одной точке, Вам возможно потребуется прокси-кеш. Для замены оригинальных url от dadata на Ваш прокси, можете # заполнить следующие необязательные параметры #base_general_url: 'https://proxy_dadata.ru/proxy/v2' #base_cleaner_url: 'https://cleaner.proxy_dadata.ru/proxy/v1/clean' #base_suggestions_url: 'https://suggestions.proxy_dadata.ru/suggestions/proxy/4_1/rs'
使用
首先,需要连接到您要使用的服务。例如
<?php // ... use Velhron\DadataBundle\Service\DadataSuggest; class BaseController extends AbstractController { private $dadataSuggest; public function __construct(DadataSuggest $dadataSuggest) { $this->dadataSuggest = $dadataSuggest; } }
共有5种服务,分别是
DadataSuggest
- 提示DadataClean
- 标准化DadataGeolocate
- 反向地理编码DadataIplocate
- IP 地址的城市DadataGeneral
- 其他方法
所有可用方法都可以在相应的类中查看。
通常,其他参数以关联数组的第二参数形式传递。所有参数与ДаДата网站上指定的参数类似。
API 提示
例如,地址提示
$response = $dadataSuggest->suggestAddress('москва хабар', ['count' => 10]); $address = $response[0]->value;
组织提示
$response = $dadataSuggest->suggestParty('сбербанк', ['count' => 2]); $inn = $response[0]->inn;
API 标准化
例如,标准化姓名
$response = $dadataClean->cleanName('Срегей владимерович иванов'); $name = $response->result;
反向地理编码
例如,通过坐标查找地址
$response = $dadataGeolocate->geolocateAddress(55.878, 37.653); $address = $response[0]->value;
通过 IP 地址获取城市
通过 IP 地址获取城市
$response = $dadataIplocate->iplocateAddress('46.226.227.20'); $city = $response->value;
通过 КЛАДР 或 ФИАС 代码获取地址
通过 КЛАДР 代码获取地址
$response = $dadataSuggest->findAddress('77000000000268400'); $address = $response[0]->value;
搜索关联公司
$response = $dadataSuggest->findAffiliatedParty('7736207543'); $value = $response[0]->value;
许可证
MIT 许可证 © Velhron