rocketfellows/be-vat-number-format-validators-config

v1.0.0 2023-05-09 20:17 UTC

This package is not auto-updated.

Last update: 2024-09-26 01:10:17 UTC


README

Code Coverage Badge

此软件包为比利时国家的vat号码格式验证器提供了一个预配置的配置类。它是https://github.com/rocketfellows/specific-country-vat-number-format-validators-config软件包的扩展。

安装

composer require rocketfellows/be-vat-number-format-validators-config

依赖关系

参考

软件包组件列表

  • rocketfellows\BEVatNumberFormatValidatorsConfig\BEVatNumberFormatValidatorsConfig - 比利时国家vat号码格式验证器的预配置配置类;

BEVatNumberFormatValidatorsConfig说明

一个配置类,提供对比利时国家vat号码格式验证器的匹配。

类接口

  • getCountry - 返回比利时 Country实例;
  • getValidators - 返回验证器元组

在初始化默认配置时,getValidators函数返回一个包含单个验证器的元组 - BEVatFormatValidator的一个实例。

$config = new BEVatNumberFormatValidatorsConfig();

$config->getCountry();      // returns Belgium Country instance
$config->getValidators();   // returns CountryVatFormatValidators with one item - instance of BEVatFormatValidator

您可以通过类构造函数的第一个参数使用新的默认验证器初始化配置类对象来覆盖默认验证器。注意 - 验证器必须实现接口 CountryVatFormatValidatorInterface

$newDefaultValidator = new NewDefaultValidator();                       // instance of CountryVatFormatValidatorInterface
$config = new BEVatNumberFormatValidatorsConfig($newDefaultValidator);  // initialize with new default validator

$config->getValidators();   // returns CountryVatFormatValidators with one item - $newDefaultValidator

您也可以通过第二个构造函数参数将额外的验证器添加到默认验证器。

注意 - 额外验证器参数必须是元组 CountryVatFormatValidators的实例。并且每个额外验证器都必须实现接口 CountryVatFormatValidatorInterface

$firstAdditionalValidator = new FirstAdditionalValidator();   // instance of CountryVatFormatValidatorInterface
$secondAdditionalValidator = new SecondAdditionalValidator(); // instance of CountryVatFormatValidatorInterface

$config = new BEVatNumberFormatValidatorsConfig(
    null,
    (
        new CountryVatFormatValidators(
            $firstAdditionalValidator,
            $secondAdditionalValidator
        )
    )
);

// returns CountryVatFormatValidators with three items:
// default preconfigured validator by default - instance of BEVatFormatValidator
// $firstAdditionalValidator - from additional tuple
// $secondAdditionalValidator - from additional tuple
$config->getValidators();

您还可以通过将默认验证器和额外验证器的元组传递给配置类构造函数来完全重新构建配置。

$defaultValidator = new DefaultValidator();                   // instance of CountryVatFormatValidatorInterface
$firstAdditionalValidator = new FirstAdditionalValidator();   // instance of CountryVatFormatValidatorInterface
$secondAdditionalValidator = new SecondAdditionalValidator(); // instance of CountryVatFormatValidatorInterface

$config = new BEVatNumberFormatValidatorsConfig(
    $defaultValidator,
    (
        new CountryVatFormatValidators(
            $firstAdditionalValidator,
            $secondAdditionalValidator
        )
    )
);

// returns CountryVatFormatValidators with three items:
// $defaultValidator from constructor first parameter
// $firstAdditionalValidator - from additional tuple
// $secondAdditionalValidator - from additional tuple
$config->getValidators();

更多用例示例可以在软件包的单元测试中找到。

贡献

欢迎使用拉取请求。如果有重大更改,请先打开一个问题进行讨论。

请确保适当更新测试。