ddeboer/vatin-bundle

Symfony的VATIN库包

安装次数: 603,380

依赖关系: 0

建议者: 0

安全性: 0

星级: 27

关注者: 7

分支: 11

开放性问题: 3

类型:symfony-bundle

3.1.0 2024-01-19 10:06 UTC

This package is auto-updated.

Last update: 2024-09-19 11:29:59 UTC


README

Latest Stable Version

VATIN库提供的Symfony包。

安装

此库在Packagist上可用

composer require ddeboer/vatin-bundle

然后将包添加到您的应用程序中

// app/AppKernel.php
public function registerBundles()
{
    return [
        ...
        new Ddeboer\VatinBundle\DdeboerVatinBundle(),
        ...
    ];
}

用法

验证号码格式

使用验证器验证模型上的属性。例如使用注解

use Ddeboer\VatinBundle\Validator\Constraints\Vatin;

class Company
{
    /**
     * @Vatin
     */
    protected $vatNumber;

Symfony的验证器将现在检查$vatNumber是否具有有效的VAT号码格式。更多信息,请参阅Symfony文档

验证号码存在性

此外,您可以检查VAT号码是否在使用中

    use Ddeboer\VatinBundle\Validator\Constraints\Vatin;

    /**
     * @Vatin(checkExistence=true)
     */
    protected $vatNumber;

验证器将现在检查VAT号码与VAT信息交换系统(VIES) SOAP Web服务。此服务的可用性相当不可靠,因此捕捉到无法访问的情况是个好主意

use Symfony\Component\Validator\Exception\ValidatorException;

try {
    if ($validator->isValid()) {
        // Happy flow
    }
} catch (ValidatorException $e) {
    // VAT could not be validated because VIES service is unreachable
}

直接使用服务

您还可以直接使用此包的服务。验证VAT号码的格式

$validator = $container->get('ddeboer_vatin.vatin_validator');
$bool = $validator->isValid('NL123456789B01');

此外,检查VAT号码是否在使用中

$bool = $validator->isValid('NL123456789B01', true);

与VIES Web服务交互

$vies = $container->get('ddeboer_vatin.vies.client');
$checkVatResponse = $vies->checkVat('NL', '123456789B01');

更多信息

更多详细信息,请参阅VATIN库文档