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

v1.0.0 2023-05-08 09:55 UTC

This package is not auto-updated.

Last update: 2024-09-24 14:56:50 UTC


README

Code Coverage Badge

此包为捷克共和国的vat号码格式验证器提供预配置的配置类。是https://github.com/rocketfellows/specific-country-vat-number-format-validators-config包的扩展。

安装

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

依赖项

参考

包组件列表

  • rocketfellows\CZVatNumberFormatValidatorsConfig\CZVatNumberFormatValidatorsConfig - 捷克共和国国家的vat号码格式验证器的预配置配置类;

CZVatNumberFormatValidatorsConfig 描述

一个配置类,提供对捷克共和国国家vat号码格式验证器的匹配。

类接口

  • getCountry - 返回捷克共和国 Country 实例;
  • getValidators - 返回验证器元组

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

$config = new CZVatNumberFormatValidatorsConfig();

$config->getCountry();      // returns Czech Republic Country instance
$config->getValidators();   // returns CountryVatFormatValidators with one item - instance of CZVatFormatValidator

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

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

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

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

贡献

欢迎提交拉取请求。如果有重大更改,请先为讨论打开一个问题。

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