mezzio / mezzio-swoole

Swoole support for Mezzio

Home Page:https://docs.mezzio.dev/mezzio-swoole/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WhoopsPrettyPageHandlerDelegator leads to undefined index error

arku31 opened this issue · 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

What DI container are you using, please?

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

I got it offered via mezzio-skeleton

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.

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()]