gruzoveek/dadata-bundle

DaData for Symfony

安装: 28

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 13

类型:symfony-bundle

v1.6.2 2022-04-13 09:11 UTC

This package is auto-updated.

Last update: 2024-09-13 14:37:07 UTC


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

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