Skip to content

[DependencyInjection] [Bugfix] EnvPlaceholderParameterBag::get() can't return UnitEnum #47634

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

Closed
wants to merge 4 commits into from

Conversation

php-rock
Copy link

@php-rock php-rock commented Sep 20, 2022

Q A
Branch? 6.2
Bug fix? yes
New feature? no
Deprecations? no
Tickets -
License MIT
Doc PR -

This PR allows to get enums from container in the next situation:

parameters:
    app.someEnum.yes !php/const \App\Context\SomeEnum::YES

Currently, we'll have an error:

[critical] Uncaught Error: Symfony\Component\DependencyInjection\ParameterBag\EnvPlaceholderParameterBag::get(): Return value must be of type array|string|int|float|bool|null, \App\Context\SomeEnum returned

This bugfix fixes this error.

EnvPlaceholderParameterBag::get() has a signature: array|bool|string|int|float|null
ParameterBag::get() has another signature: array|bool|string|int|float|\UnitEnum|null

Why do we need this fix?
To make the results of two dependent methods consistent.

EnvPlaceholderParameterBag::get() call ParameterBag::get() here:

This PR makes it consistent and adding UnitEnum to EnvPlaceholderParameterBag::get() result.

@carsonbot
Copy link

Hey!

I see that this is your first PR. That is great! Welcome!

Symfony has a contribution guide which I suggest you to read.

In short:

  • Always add tests
  • Keep backward compatibility (see https://symfony.com/bc).
  • Bug fixes must be submitted against the lowest maintained branch where they apply (see https://symfony.com/releases)
  • Features and deprecations must be submitted against the 6.2 branch.

Review the GitHub status checks of your pull request and try to solve the reported issues. If some tests are failing, try to see if they are failing because of this change.

When two Symfony core team members approve this change, it will be merged and you will become an official Symfony contributor!
If this PR is merged in a lower version branch, it will be merged up to all maintained branches within a few days.

I am going to sit back now and wait for the reviews.

Cheers!

Carsonbot

@php-rock php-rock changed the title EnvPlaceholderParameterBag::get() can't return UnitEnum Bugfix: EnvPlaceholderParameterBag::get() can't return UnitEnum Sep 20, 2022
@php-rock php-rock changed the title Bugfix: EnvPlaceholderParameterBag::get() can't return UnitEnum [DependencyInjection] [Bugfix] EnvPlaceholderParameterBag::get() can't return UnitEnum Sep 20, 2022
@fabpot
Copy link
Member

fabpot commented Sep 23, 2022

Closing as a duplicate of #47635 (we merge old branches into newer ones ourselves.)

@fabpot fabpot closed this Sep 23, 2022
@php-rock php-rock deleted the bugfix/AddUnitEnum branch September 23, 2022 08:12
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.

3 participants