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

v1.0.0 2023-04-29 21:49 UTC

This package is not auto-updated.

Last update: 2024-09-16 03:06:09 UTC


README

Code Coverage Badge

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

安装

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

依赖项

参考

包组件列表

  • rocketfellows\PLVatNumberFormatValidatorsConfig\PLVatNumberFormatValidatorsConfig - 针对波兰国家的增值税格式验证器的预配置配置类;

PLVatNumberFormatValidatorsConfig 描述

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

类接口

  • getCountry - 返回波兰 Country 实例;
  • getValidators - 返回验证器元组

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

$config = new PLVatNumberFormatValidatorsConfig();

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

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

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

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

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

贡献

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

请确保适当更新测试。