Skip to content

[Form] remove useless copy in ChoiceType #18316

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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 30, 2016

Conversation

HeahDude
Copy link
Contributor

Q A
Branch? 2.7+
Bug fix? no
New feature? no
BC breaks? no
Deprecations? no
Tests pass? yes
Fixed tickets n/a
License MIT
Doc PR symfony/symfony-docs#6393

ChoiceListFactoryInterface expected $groupBy to be a callable or null, not an array (ref).

The factory defaults groupBy to ChoiceListInterface::getStructuredValues() (ref).

Hence, the copy of the choices array and the recursive flip are useless and may be slowing down performances imho (especially with EntityType).

`ChoiceListFactoryInterface` expected `$group_by` to be a callable or
null not an array.
The factory defaults `group_by` to
`ChoiceListInterface::getStructuredValues`.
@HeahDude
Copy link
Contributor Author

Note to the merger: sorry for the conflict in 3.0 :/

@Tobion
Copy link
Contributor

Tobion commented Mar 26, 2016

👍 Good catch. This piece of code does not seem to have any effect as a group_by with an array is ignored.

Status: Reviewed

@HeahDude
Copy link
Contributor Author

@Tobion thanks for the review :) The effect I'm interested in is a comparison with backfire profiling!

@HeahDude
Copy link
Contributor Author

This is due to this.

@HeahDude
Copy link
Contributor Author

Ref this change in #15061.

@fabpot
Copy link
Member

fabpot commented Mar 30, 2016

Thank you @HeahDude.

@fabpot fabpot merged commit 562f5e4 into symfony:2.7 Mar 30, 2016
fabpot added a commit that referenced this pull request Mar 30, 2016
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] remove useless copy in ChoiceType

| Q             | A
| ------------- | ---
| Branch?       | 2.7+
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | symfony/symfony-docs#6393

`ChoiceListFactoryInterface` expected `$groupBy` to be a callable or null, not an array ([ref](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/ChoiceList/Factory/ChoiceListFactoryInterface.php#L111)).

The factory defaults `groupBy` to `ChoiceListInterface::getStructuredValues()` ([ref](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/ChoiceList/Factory/DefaultChoiceListFactory.php#L122)).

Hence, the copy of the choices array and the recursive flip are useless and may be slowing down performances imho (especially with `EntityType`).

Commits
-------

562f5e4 [Form] remove useless code in ChoiceType
@HeahDude HeahDude deleted the minor-choice_type-remove_code branch March 30, 2016 10:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants