rocketfellows/si-vat-number-format-validators-config 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

最新稳定版本:v1.0.0

Composer 安装命令:

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

包简介

README 文档

README

Code Coverage Badge

This package provides a preconfigured configuration class for vat number format validators for Slovenia country. Is an extension of the package https://github.com/rocketfellows/specific-country-vat-number-format-validators-config.

Installation

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

Dependencies

References

List of package components

  • rocketfellows\SIVatNumberFormatValidatorsConfig\SIVatNumberFormatValidatorsConfig - preconfigured configuration class for vat number format validators for Slovenia country;

SIVatNumberFormatValidatorsConfig description

A configuration class that provides a match for the vat number format validators for the country Slovenia.

Class interface:

  • getCountry - returns Slovenia Country instance;
  • getValidators - returns validators tuple

When initializing the default configuration, the getValidators function returns a tuple with a single validator - an instance of SIVatFormatValidator.

$config = new SIVatNumberFormatValidatorsConfig();

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

You can override the default validator by initializing the configuration class object with a new default validator through the first parameter of the class constructor. Attention - validator must implement interface CountryVatFormatValidatorInterface.

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

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

You can add additional validators to the default validator via the second constructor parameter.

Attention - additional validators parameter must be instance of tuple CountryVatFormatValidators. And each additional validator must implement interface CountryVatFormatValidatorInterface.

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

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

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

You can also completely rebuild the configuration by passing the default validator and a tuple of additional validators to the config class constructor.

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

$config = new SIVatNumberFormatValidatorsConfig(
    $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();

More use case examples can be found in the package's unit tests.

Contributing

Welcome to pull requests. If there is a major changes, first please open an issue for discussion.

Please make sure to update tests as appropriate.

统计信息

  • 总下载量: 5
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-04-29