gruzoveek / dadata-bundle
DaData for Symfony
v1.6.2
2022-04-13 09:11 UTC
Requires
- php: ^8.1
- ext-json: *
- symfony/config: ^5.4|^6.0
- symfony/dependency-injection: ^5.4|^6.0
- symfony/http-client: ^5.4|^6.0
- symfony/http-kernel: ^5.4|^6.0
- symfony/yaml: ^5.4|^6.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- phpstan/phpstan: ^0.12.25
- symfony/phpunit-bridge: ^5.4|^6.0
README
描述
将https://github.com/Velhron/dadata-bundle 克隆到 php8 和 Symfony 6
Symfony DaDataBundle 用于与 ДаДата 服务器的 API 交互。
安装
该捆绑包可以通过 Composer 安装。
使用 Symfony Flex 的应用程序
打开命令行界面,切换到您的项目目录,并执行以下命令:
composer require gruzoveek/dadata-bundle
不使用 Symfony Flex 的应用程序
步骤 #1: 下载捆绑包
打开命令行界面,切换到您的项目目录,并执行以下命令以下载此包的最新稳定版本:
composer require gruzoveek/dadata-bundle
步骤 #2: 激活捆绑包
通过将捆绑包添加到项目 app/AppKernel.php
文件中注册的包列表来启用该包。
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new Gruzoveek\DadataBundle\GruzoveekDadataBundle(), ); // ... } // ... }
配置
创建配置文件 config/packages/dadata.yaml
。
示例
gruzoveek_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 Gruzoveek\DadataBundle\Service\DadataSuggest; class BaseController extends AbstractController { private $dadataSuggest; public function __construct(DadataSuggest $dadataSuggest) { $this->dadataSuggest = $dadataSuggest; } }
共有 5 个服务,分别是:
DadataSuggest
- 提示DadataClean
- 标准化DadataGeolocate
- 反向地理编码DadataIplocate
- 按 IP 地址获取城市DadataGeneral
- 其他方法
所有可用方法都可以在相应的类中查看。
额外的参数通常以关联数组的形式作为第二个参数传递。所有参数都与网站上 DaData 提供的参数类似。
提示 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 许可证 © Gruzoveek