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

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

This package is not auto-updated.

Last update: 2024-09-26 01:36:03 UTC


README

Code Coverage Badge

此包为奥地利国家增值税格式验证器提供预配置的配置类。是https://github.com/rocketfellows/specific-country-vat-number-format-validators-config包的扩展。

安装

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

依赖

参考

包组件列表

  • rocketfellows\ATVatNumberFormatValidatorsConfig\ATVatNumberFormatValidatorsConfig - 奥地利国家增值税格式验证器的预配置配置类;

ATVatNumberFormatValidatorsConfig描述

一个配置类,为奥地利国家的增值税格式验证器提供匹配。

类接口

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

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

$config = new ATVatNumberFormatValidatorsConfig();

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

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

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

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

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

贡献

欢迎提出拉取请求。如果有重大更改,请首先提出问题以供讨论。

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