steevanb / symfony-options-resolver
为 Symfony OptionsResolver 组件添加功能。
1.1.0
2019-12-06 11:16 UTC
Requires
- php: ^7.1.
- symfony/options-resolver: ^2.6||^3.0||^4.0
Requires (Dev)
- phpstan/phpstan: ^0.11
- phpunit/phpunit: ^8.3
This package is auto-updated.
Last update: 2024-09-06 22:35:21 UTC
README
symfony-options-resolver
为 Symfony OptionsResolver 组件添加功能。
安装
composer require "steevanb/symfony-options-resolver": "^1.1.0"
示例
定义具有默认值的可选选项
use steevanb\SymfonyOptionsResolver\OptionsResolver; $optionsResolver = new OptionsResolver(); # Configure an optional option $optionsResolver->configureOption('foo', ['string'], 'default', ['default', 'value1', 'value2']); # Equivalent to call original OptionsResolver methods: $optionsResolver ->setDefined('foo') ->setAllowedTypes('foo', ['string']) ->setDefault('foo', 'default') ->setAllowedValues('foo', ['default', 'value1', 'value2']);
定义必需选项
use steevanb\SymfonyOptionsResolver\OptionsResolver; $optionsResolver = new OptionsResolver(); # Configure a required option $optionsResolver->configureRequiredOption('foo', ['string'], ['value1', 'value2']); # Equivalent to call original OptionsResolver methods: $optionsResolver ->setRequired('foo') ->setAllowedTypes('foo', ['string']) ->setAllowedValues('foo', ['value1', 'value2']);
允许未知键
use steevanb\SymfonyOptionsResolver\OptionsResolver; # This will not throw an exception because extraKey is not configured (new OptionsResolver()) ->configureRequiredOption('foo', ['string'], ['value1', 'value2']) ->setAllowUnknownKeys(true) ->resolve(['foo' => 'value1', 'extraKey' => 'extraValue']);