Silex: определение строки в качестве подсказки типа для параметра маршрута показывает, что строка не существует - PullRequest
0 голосов
/ 28 ноября 2018

Мы используем Silex, версия 2.0.2 и PHP 7.0.1.

В одном из маршрутов передается параметр следующим образом:

test:
    path:     /auth/{token}
    defaults: { _controller: 'Dummy\Controller::getToken' }
    methods: [GET]
    requirements:
        token: \w+

Но при выполнении типаподсказка метода контроллера в виде строки

public function getToken (Application $ app, Request $ request, string $token)

Появляется следующая ошибка:

Class string does not exist and could not be loaded in vendor/silex/silex/src/Silex/AppArgumentValueResolver.php: 37

Невозможно установить тип аргумента, который вводится через конфигурацию маршрута?

Спасибо.

1 Ответ

0 голосов
/ 28 ноября 2018

Это может немного раздражать, если вы используете версию 2.0.2, но это было исправлено в версии 2.0.3 с помощью этого исправления: https://github.com/silexphp/Silex/issues/1389

С список изменений :

2.0.3 (2016-08-22) - исправлена ​​ленивая оценка 'monolog.use_error_handler'- исправлена ​​подсказка типа PHP7 на контроллерах

Если вы можете обновить только одну версию патча, проблема должна исчезнуть.Если нет, вам нужно удалить подсказку типа на контроллере.В любом случае, по умолчанию он должен быть строкой, так что вы не потеряете никакой реальной функциональности.

...