php di — PHP-DI: маршруты и дополнительные сегменты

Я использую PHP-DI с фреймворком Slim. В Slim вы делаете сегмент маршрута необязательным, заключая его в квадратные скобки. Теперь, когда я настроил PHP-DI, когда я опускаю необязательный сегмент маршрута, я получаю эту ошибку:

Type: Invoker\Exception\NotEnoughParametersException
Message: Unable to invoke the callable because no value was given for parameter 1 ($limit)

Вот мой маршрут:

$app->get('/api2/products[/{limit}]', ['\App\Controllers\SampleProductController', 'show']);

Я не могу найти в документах PHP-DI ничего такого, что говорило бы о необязательной части, просто как получить значение именованного сегмента.

1

Решение

Автор PHP-DI здесь. Это ошибка 🙂

Это то, что я исправил не так давно здесь: # 521 Но, похоже, я не везде применял одну и ту же логику (например, в пакете Invoker, который используется всеми интеграциями фреймворка).

я открыл # 562 чтобы отследить эту ошибку, посмотрите на нее для получения дополнительной информации.

Тем временем в качестве обходного пути вы действительно можете переместить параметр в конец метода, как это предлагается в комментариях.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]