rocketfellows / lt-vat-number-format-validators-config
v1.0.0
2023-05-02 21:35 UTC
Requires
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^8.5
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: 3.6.2
This package is not auto-updated.
Last update: 2024-09-19 02:41:47 UTC
README
此软件包提供了为立陶宛国家的增值税号格式验证器预配置的配置类。是https://github.com/rocketfellows/specific-country-vat-number-format-validators-config软件包的扩展。
安装
composer require rocketfellows/lt-vat-number-format-validators-config
依赖项
- https://github.com/rocketfellows/specific-country-vat-number-format-validators-config v1.0.0;
- https://github.com/rocketfellows/lt-vat-format-validator v1.0.0;
参考资料
- https://github.com/rocketfellows/country-vat-format-validator-interface
- https://github.com/arslanim/iso-standard-3166
软件包组件列表
- rocketfellows\LTVatNumberFormatValidatorsConfig\LTVatNumberFormatValidatorsConfig - 立陶宛国家增值税号格式验证器的预配置配置类;
LTVatNumberFormatValidatorsConfig 描述
一个配置类,为立陶宛国家的增值税号格式验证器提供匹配。
类接口
- getCountry - 返回立陶宛 Country 实例;
- getValidators - 返回验证器元组
在初始化默认配置时,getValidators 函数返回一个包含单个验证器的元组 - LTVatFormatValidator 实例。
$config = new LTVatNumberFormatValidatorsConfig(); $config->getCountry(); // returns Lithuania Country instance $config->getValidators(); // returns CountryVatFormatValidators with one item - instance of LTVatFormatValidator
您可以通过类构造函数的第一个参数使用新的默认验证器初始化配置类对象来覆盖默认验证器。注意 - 验证器必须实现 CountryVatFormatValidatorInterface 接口。
$newDefaultValidator = new NewDefaultValidator(); // instance of CountryVatFormatValidatorInterface $config = new LTVatNumberFormatValidatorsConfig($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 LTVatNumberFormatValidatorsConfig( null, ( new CountryVatFormatValidators( $firstAdditionalValidator, $secondAdditionalValidator ) ) ); // returns CountryVatFormatValidators with three items: // default preconfigured validator by default - instance of LTVatFormatValidator // $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 LTVatNumberFormatValidatorsConfig( $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();
更多用例示例可以在软件包的单元测试中找到。
贡献
欢迎提交拉取请求。如果有一个重大变更,请首先打开一个问题以进行讨论。
请确保适当地更新测试。