ibericode / vat-bundle
用于在Symfony环境中使用ibericode/vat的包
2.1.0
2024-05-24 13:34 UTC
Requires
- php: >=8.1
- ibericode/vat: ^2.0
- symfony/framework-bundle: ^5.4|^6.0|^7.0
- symfony/validator: ^5.4|^6.0|^7.0
Requires (Dev)
- ext-intl: *
- ext-soap: *
- phpunit/phpunit: ^10.0
README
此包允许您在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获取直接使用示例。此包添加了服务配置和增值税号的验证约束。
依赖注入
启用此包后,您可以使用依赖注入来检索Countries
、Validator
、Rates
或Geolocator
类的实例。
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文件。