I want to hear from you all.
Now the CI4 maintainer team has very strict Backward Compatibility policy.
We cannot change the method signature like the following:
PHP Code:
-public function map(array $routes = [], ?array $options = null): RouteCollectionInterface
+public function map(array $routes = [], array $options = []): RouteCollectionInterface
Even if it is changed, almost all users app does not break. But if a user have extended CI4 RouteCollection class and overrides the method,
the extended class would raise error. So we cannot change it in version 4.x. (We can change in 5.0, but there is no 5.0 yet).
In CI4, in fact there are a lot of non good signature like it, but the policy prevents to fix them.
It keeps hampering development because we can't fix the not-so-clean code for a long time.
It puts stress on developers/contributors.
I just want to hear from you. Do you really need such a very strict Backward Compatibility?