在流明中使用路由前缀


Using Route Prefixes in Lumen

来自Lumen 5.2文档:

前缀组属性可用于在 具有给定 URI 的组。例如,您可能希望为所有路由添加前缀 具有管理员的组中的 URI:

$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,但它显然不会在LessonsController上调用 index() 方法。

我也试过这个:

$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

我目前正在使用这样的前缀:

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

这在我的流明版本中工作正常。您将访问 url /v1/lessons,它由LessonsController内的 index() 方法处理

注意:Lumen文档似乎忽略了,为了执行此操作,您需要'namespace' => "App'Http'Controllers"键值对才能正常工作。