Notice: Array to string conversion instead of informative error message when configuration with non-existent Doctrine connection is found in RegisterEventListenersAndSubscribersPass · Issue #27811 · symfony/symfony · GitHub
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Notice: Array to string conversion instead of informative error message when configuration with non-existent Doctrine connection is found in RegisterEventListenersAndSubscribersPass
#27811
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.
Description
There is a small bug in an exception thrown by RegisterEventListenersAndSubscribersPass when a Doctrine connection that doesn't exist is referenced in configuration. Instead of getting the helpful exception message:
The Doctrine connection "root" referenced in service "stof_doctrine_extensions.listener.sluggable" does not exist. Available connections names: default
You instead get
Notice: Array to string conversion
How to reproduce
I was able to reproduce this by having the following configuration:
Possible Solution
The variable $taggedSubscriber here is actually an array, with the name of the service as the first member. Changing the reference to $taggedSubscriber[0] should fix this.
…ged subscriber is invalid (stloyd)
This PR was merged into the 2.8 branch.
Discussion
----------
[Doctrine Bridge] Fixed usage of wrong variable when tagged subscriber is invalid
| Q | A
| ------------- | ---
| Branch? | 2.8
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #27811
| License | MIT
This change prevents error when invalid subscriber is being used.
Expected result:
```
The Doctrine connection "root" referenced in service "stof_doctrine_extensions.listener.sluggable" does not exist. Available connections names: default
```
Actual error:
```
Notice: Array to string conversion
```
Commits
-------
cf1bc66 [Doctrine Bridge] Fixed usage of wrong variable when tagged subscriber is invalid
Symfony version(s) affected: 3.4.11
Description
There is a small bug in an exception thrown by
RegisterEventListenersAndSubscribersPass
when a Doctrine connection that doesn't exist is referenced in configuration. Instead of getting the helpful exception message:You instead get
How to reproduce
I was able to reproduce this by having the following configuration:
after I removed the connection named
root
.Possible Solution
The variable
$taggedSubscriber
here is actually an array, with the name of the service as the first member. Changing the reference to$taggedSubscriber[0]
should fix this.https://github.com/symfony/symfony/blob/master/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPass.php#L72
Additional context
The text was updated successfully, but these errors were encountered: