Использование префиксов маршрутов в Lumen

Из люмен 5,2 документов:

Атрибут группы префиксов может использоваться для префикса каждого маршрута в группе с заданным URI. Например, вы можете захотеть поставить перед всеми URI маршрута в группе префикс admin:

$app->group(['prefix' => 'admin'], function () use ($app) {
    $app->get('users', function ()    {
        // Matches The "/admin/users" URL
    });
});

Мой код:

$app->group(['prefix' => 'v1'], function () use ($app) {
    $app->get('lessons', function ()    {
        ['as' => 'lessons.index', 'uses' => 'LessonsController@index'];
    });
});

Это возвращает 200, но это явно не вызов index() метод на LessonsController,

Я также попробовал это:

$app->group(['prefix' => 'v1'], function () use ($app) {
    $app->get('lessons', ['as' => 'lessons.index', 'uses' => 'LessonsController@index']);
});

Результаты в ReflectionException in Container.php line 738: Class LessonsController does not exist

1 ответ

Решение

В настоящее время я использую префиксы как это:

$app->group(['namespace' => "App\Http\Controllers", 'prefix' => 'v1'], function($app){
    $app->get('/lessons', 'LessonsController@index');   
});

Который прекрасно работает в моей версии Lumen. Вы бы получили доступ к URL /v1/lessons и это обрабатывается index() метод внутри LessonsController

Примечание: может показаться, что в документации Lumen не хватает того, что для этого вам требуется 'namespace' => "App\Http\Controllers" пара ключ-значение для того, чтобы это работало.

Другие вопросы по тегам