2

来自 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

4

1 回答 1

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"键值对才能使其工作。

于 2016-02-25T12:47:12.973 回答