ddeboer / vatin-bundle
Symfony的VATIN库包
3.1.0
2024-01-19 10:06 UTC
Requires
- php: >=7.2
- ddeboer/vatin: ^2.0
- symfony/config: ^4.0 || ^5.0 || ^6.0 || ^7.0
- symfony/dependency-injection: ^4.0 || ^5.0 || ^6.0 || ^7.0
- symfony/http-kernel: ^4.0 || ^5.0 || ^6.0 || ^7.0
- symfony/validator: ^4.0 || ^5.0 || ^6.0 || ^7.0
Requires (Dev)
- doctrine/annotations: ^1.2
- phpunit/phpunit: ^8.5 || ^9.0
- roave/security-advisories: dev-latest
- symfony/framework-bundle: ^5.0 || ^6.0 || ^7.0
- symfony/yaml: ^5.0 || ^6.0 || ^7.0
README
为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库文档。