Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 159a150

Browse filesBrowse files
committed
Update nested options examples to use setOptions instead of setDefault
1 parent 8644781 commit 159a150
Copy full SHA for 159a150

File tree

1 file changed

+15
-5
lines changed
Filter options

1 file changed

+15
-5
lines changed

‎components/options_resolver.rst

Copy file name to clipboardExpand all lines: components/options_resolver.rst
+15-5Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -662,7 +662,7 @@ default value::
662662

663663
public function configureOptions(OptionsResolver $resolver): void
664664
{
665-
$resolver->setDefault('spool', function (OptionsResolver $spoolResolver): void {
665+
$resolver->setOptions('spool', function (OptionsResolver $spoolResolver): void {
666666
$spoolResolver->setDefaults([
667667
'type' => 'file',
668668
'path' => '/path/to/spool',
@@ -686,6 +686,16 @@ default value::
686686
],
687687
]);
688688

689+
.. deprecated:: 7.3
690+
691+
Defining nested option via :method:`Symfony\\Component\\OptionsResolver\\OptionsResolver::setDefault`
692+
was deprecated since Symfony 7.3, use the :method:`Symfony\\Component\\OptionsResolver\\OptionsResolver::setOptions`
693+
instead. Allowing to define default values for prototyped options.
694+
695+
.. versionadded:: 7.3
696+
697+
The :method:`Symfony\\Component\\OptionsResolver\\OptionsResolver::setOptions` was introduced in Symfony 7.3.
698+
689699
Nested options also support required options, validation (type, value) and
690700
normalization of their values. If the default value of a nested option depends
691701
on another option defined in the parent level, add a second ``Options`` argument
@@ -698,7 +708,7 @@ to the closure to access to them::
698708
public function configureOptions(OptionsResolver $resolver): void
699709
{
700710
$resolver->setDefault('sandbox', false);
701-
$resolver->setDefault('spool', function (OptionsResolver $spoolResolver, Options $parent): void {
711+
$resolver->setOptions('spool', function (OptionsResolver $spoolResolver, Options $parent): void {
702712
$spoolResolver->setDefaults([
703713
'type' => $parent['sandbox'] ? 'memory' : 'file',
704714
// ...
@@ -721,13 +731,13 @@ In same way, parent options can access to the nested options as normal arrays::
721731

722732
public function configureOptions(OptionsResolver $resolver): void
723733
{
724-
$resolver->setDefault('spool', function (OptionsResolver $spoolResolver): void {
734+
$resolver->setOptions('spool', function (OptionsResolver $spoolResolver): void {
725735
$spoolResolver->setDefaults([
726736
'type' => 'file',
727737
// ...
728738
]);
729739
});
730-
$resolver->setDefault('profiling', function (Options $options): void {
740+
$resolver->setOptions('profiling', function (Options $options): void {
731741
return 'file' === $options['spool']['type'];
732742
});
733743
}
@@ -748,7 +758,7 @@ with ``host``, ``database``, ``user`` and ``password`` each.
748758

749759
The best way to implement this is to define the ``connections`` option as prototype::
750760

751-
$resolver->setDefault('connections', function (OptionsResolver $connResolver): void {
761+
$resolver->setOptions('connections', function (OptionsResolver $connResolver): void {
752762
$connResolver
753763
->setPrototype(true)
754764
->setRequired(['host', 'database'])

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.