mezzio-swoole icon indicating copy to clipboard operation
mezzio-swoole copied to clipboard

WhoopsPrettyPageHandlerDelegator leads to undefined index error

Open arku31 opened this issue 4 years ago • 4 comments

Bug Report

Q A
Version(s) 3.1

Summary

vendor/mezzio/mezzio-swoole/src/ConfigProvider.php has delegator defined as

Mezzio\WhoopsPageHandler' => [
                    WhoopsPrettyPageHandlerDelegator::class,
],

Current behavior

This leads to Notice: Undefined index: Mezzio\WhoopsPageHandler in vendor/elie29/zend-phpdi-config/src/Config.php on line 137

How to reproduce

Expected behaviour

Whoops should not be tied to the application

arku31 avatar Nov 27 '20 14:11 arku31

What DI container are you using, please?

weierophinney avatar Nov 30 '20 15:11 weierophinney

Hi, I am using php-di/php-di 6.0

I got it offered via mezzio-skeleton

arku31 avatar Nov 30 '20 15:11 arku31

We may need to fix this in the php-di wrapper. It's common to define delegators even for services that are not registered, so that once they are, the delegators are present. This seems to be an issue where the wrapper that populates the php-di container is unhappy that the service does not exist when the delegator is registered.

weierophinney avatar Dec 02 '20 20:12 weierophinney

If someone will struggle as well: There is a workaround for it. In any ConfigProvider that you're registering in /config/config.php AFTER the \Mezzio\Swoole\ConfigProvider::class, you may overwrite this by providing an array that contains data that will overwrite the default value: in the getDependencies method, add 'delegators' => [ 'Mezzio\WhoopsPageHandler' => new \stdClass()]

arku31 avatar Feb 23 '21 10:02 arku31