さまざまなキーを持つことができる配列があります。ただし、必要なキーは常に 2 つ存在します。現在、OptionsResolver コンポーネントを使用しています。余分なキーがなくなるまでは正常に動作します。Validator コンポーネントも検討しましたが、同じ動作があることを理解しました。したがって、常にキーの完全なリストを設定する必要がありますが、上で書いたように、それらの一部のみを検証する必要があります。この問題を解決する方法はありますか?
ありがとう!
さまざまなキーを持つことができる配列があります。ただし、必要なキーは常に 2 つ存在します。現在、OptionsResolver コンポーネントを使用しています。余分なキーがなくなるまでは正常に動作します。Validator コンポーネントも検討しましたが、同じ動作があることを理解しました。したがって、常にキーの完全なリストを設定する必要がありますが、上で書いたように、それらの一部のみを検証する必要があります。この問題を解決する方法はありますか?
ありがとう!
こんにちは、OptionResolver で必須、オプション、およびデフォルトの値を定義できます。たぶん、説明するよりも簡単になるように、いくつかの例を挙げます。
$resolver = new Symfony\Component\OptionsResolver\OptionsResolver;
$resolver
->setRequired(['required1', 'required2'])
->setOptional(['optional1', 'optional2'])
->setDefaults(['defaultValue' => '123'])
;
$options = $resolver->resolve(
[
'required1' => 'test',
'required2' => 'test123',
'optional1' => 'opt'
]
);
次に、オプションは次のようになります
[
'defaultValue' => '123',
'required1' => 'test',
'required2' => 'test123',
'optional1' => 'opt',
]
設定しないrequired1
かrequired2
、解決された配列にない場合、Symfony\Component\OptionsResolver\Exception\MissingOptionsException
例外が発生します。不明なオプション (setRequired、setOptional、または setDefaults で定義されていない) を指定すると、Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
例外が発生します。
Validator コンポーネントも検討しましたが、理解したとおり、同じ動作があります
どの値を「必須」にするかを決めることができます...しかし、あなたが正確に何を意味するかはわかりません