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

v1.0.0 2023-05-03 21:06 UTC

This package is not auto-updated.

Last update: 2024-09-20 01:58:18 UTC


README

Code Coverage Badge

本包为匈牙利国家的vat号码格式验证器提供预配置的配置类。是https://github.com/rocketfellows/specific-country-vat-number-format-validators-config包的扩展。

安装

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

依赖关系

参考资料

包组件列表

  • rocketfellows\HUVatNumberFormatValidatorsConfig\HUVatNumberFormatValidatorsConfig - 为匈牙利国家的vat号码格式验证器提供预配置的配置类;

HUVatNumberFormatValidatorsConfig说明

一个配置类,为匈牙利国家的vat号码格式验证器提供匹配。

类接口

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

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

$config = new HUVatNumberFormatValidatorsConfig();

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

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

$newDefaultValidator = new NewDefaultValidator();                       // instance of CountryVatFormatValidatorInterface
$config = new HUVatNumberFormatValidatorsConfig($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 HUVatNumberFormatValidatorsConfig(
    null,
    (
        new CountryVatFormatValidators(
            $firstAdditionalValidator,
            $secondAdditionalValidator
        )
    )
);

// returns CountryVatFormatValidators with three items:
// default preconfigured validator by default - instance of HUVatFormatValidator
// $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 HUVatNumberFormatValidatorsConfig(
    $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();

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

贡献

欢迎提交拉取请求。如果有重大更改,请先提交问题进行讨论。

请确保根据需要更新测试。