ibericode/vat-bundle

用于在Symfony环境中使用ibericode/vat的包

安装次数: 154,744

依赖项: 0

建议者: 3

安全性: 0

星标: 18

关注者: 5

分支: 9

开放问题: 1

类型:symfony-bundle

2.1.0 2024-05-24 13:34 UTC

This package is auto-updated.

Last update: 2024-08-24 14:14:02 UTC


README

Build Status Latest Stable Version PHP from Packagist Total Downloads License

此包允许您在Symfony项目中使用ibericode/vat

  • ibericode/vat-rates获取任何欧洲成员国的增值税率
  • 验证增值税号(格式和存在性)
  • 验证ISO-3316 alpha-2国家代码
  • 确定一个国家是否属于欧盟
  • 地理定位IP地址

使用官方的VIES增值税号验证SOAP API来验证增值税号。

安装

首先,使用Composer安装此包。

composer require ibericode/vat-bundle

然后,通过将其添加到您的config/bundles.php文件中来加载此包。

Ibericode\Vat\Bundle\VatBundle::class => ['all' => true]

使用方法

查看ibericode/vat获取直接使用示例。此包添加了服务配置和增值税号的验证约束。

依赖注入

启用此包后,您可以使用依赖注入来检索CountriesValidatorRatesGeolocator类的实例。

use Ibericode\Vat\Countries;
use Ibericode\Vat\Validator;
use Ibericode\Vat\Rates;
use Ibericode\Vat\Geolocator;

class MyController 
{
    /**
     * Type-hint the class on your service constructors to retrieve a class instance
     */
    public function __construct(
        Rates $rates, 
        Validator $validator,
        Countries $countries, 
        Geolocator $geolocator
        )
    {
        $rates->getRateForCountry('NL'); // 21.00
        $validator->validateVatNumber('NL123456789B01'); // false
        $countries->isCountryCodeInEU('US') // false
        $geolocator->locateIpAddress('8.8.8.8'); // US
    }
}

验证

要使用Symfony的验证组件验证增值税号,您可以使用VatNumber约束。

use Ibericode\Vat\Bundle\Validator\Constraints\VatNumber;

class Customer 
{
    /**
    * @VatNumber() 
    */
    public $vatNumber;
}

许可

MIT许可。有关详细信息,请参阅LICENSE文件。