Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

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

Sign up
Appearance settings

[Workflow] Don't use VariableNode for ArrayNode#39328

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Closed
Nyholm wants to merge1 commit intosymfony:5.2fromNyholm:array-node

Conversation

@Nyholm
Copy link
Member

@NyholmNyholm commentedDec 5, 2020
edited
Loading

QA
Branch?5.2
Bug fix?yes
New feature?no
Deprecations?no
Tickets
LicenseMIT
Doc PR

This change could break some applications that have defined:

framework:workflows:acme:events_to_dispatch:null

They should just remove theevents_to_dispatch line or define it as an empty array.

I don't see why it was defined as a VariableNode in the first place. It was introduced here#37815, maybe@lyrixx can help me here?

#SymfonyHackday

->end()
->variableNode('events_to_dispatch')
->defaultValue(null)
->arrayNode('events_to_dispatch')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

anarrayNode must use either->children orprototype for it to work fine (otherwise, it will be an array node usingchildren() but with no allowed children, which is useless)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Btw, once you change that to a proper prototype, thevalidate function can then be moved to the prototype instead of looping over the array, which would report the invalid value to a more precise location

@stof
Copy link
Member

stof commentedDec 5, 2020

@Nyholm your implementation forbids settingnull as value, which is the way to configure the component to dispatch all events.

@lyrixx
Copy link
Member

lyrixx commentedDec 5, 2020
edited
Loading

Hello,

We wanted something a bit complexe here. We want to be able to

  • use the default configurationevents_to_dispatch: ~
  • usesno eventevents_to_dispatch: [] <- this is the pain point
  • use A, B, C, events:events_to_dispatch: [A, B, C]

This is why we ended with the current code. IIRC, we have tests for this. So If you achieve to make the code simpler, without having to edit the fixtures, it will be nice :)

When I finished#37815, I search for simpler code (may be not enought) but I can not find a better way.

@Nyholm
Copy link
MemberAuthor

I see. Thank you for the context and the review.

I was dumping configuration reference and saw that theyaml produced was invalid. That is why I wanted to fix this. (it looked like a mistake). I'll see if I can fix the dumper instead.

@Nyholm
Copy link
MemberAuthor

Im closing this in favor of#39336

@NyholmNyholm closed thisDec 5, 2020
fabpot added a commit that referenced this pull requestDec 5, 2020
…r VariableNode with array example (Nyholm)This PR was merged into the 4.4 branch.Discussion----------[Config] YamlReferenceDumper: No default value required for VariableNode with array example| Q             | A| ------------- | ---| Branch?       | 4.4| Bug fix?      | yes| New feature?  | no| Deprecations? || Tickets       || License       | MIT| Doc PR        |This willfix#39328 in a better way.A `VariableNode` may have an array as value and also a default value as "null". (Like the workflow component).When we dump the config, we generate invalid yaml:```    workflows:        enabled:              false        workflows:            # Prototype            name:                # Select which Transition events should be dispatched for this Workflow                events_to_dispatch:   null                    # Examples:                    - workflow.enter                    - workflow.transition```With this PR, we will remove the `null` default value from the dumped config.#SymfonyHackdayCommits-------9104fd4 [Config] YamlReferenceDumper: No default value required for VariableNode with array example
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@stofstofstof left review comments

Assignees

No one assigned

Projects

None yet

Milestone

5.2

Development

Successfully merging this pull request may close these issues.

4 participants

@Nyholm@stof@lyrixx@carsonbot

[8]ページ先頭

©2009-2025 Movatter.jp