velhron/dadata-bundle

DaData for Symfony

安装次数: 43,679

依赖项: 0

建议者: 0

安全: 0

星标: 19

关注者: 2

分支: 13

公开问题: 1

类型:symfony-bundle

v1.6.0 2024-06-28 07:27 UTC

This package is auto-updated.

Last update: 2024-08-28 07:47:38 UTC


README

Build Status

描述

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种服务,分别是

  1. DadataSuggest - 提示
  2. DadataClean - 标准化
  3. DadataGeolocate - 反向地理编码
  4. DadataIplocate - IP 地址的城市
  5. 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