路由组超薄框架

route group slim framework

我想在 Slim 框架中创建一个“动态”路由组,但我得到了

警告:{closure}() i

缺少参数 1

这是我的代码:

\Slim\Slim::registerAutoloader();

$app = new \Slim\Slim();

$app->group('/:segment1/:segment2', function ($segment1, $segment2) use ($app) {

    $app->map('/', function () use ($app) {

    })->via('GET', 'POST');

    $app->map('/:id', function ($id) use ($app) {

    })->via('GET', 'PUT', 'DELETE');

});

$app->run();

如果我改变:

$app->group('/:segment1/:segment2', function ($segment1, $segment2) use ($app)

至:

$app->group('/segment1/segment2', function () use ($app)

它开始工作,但我需要这些片段是动态的。我该怎么做?

您必须将组参数添加到它们的子路由函数中:

$app->group('/:segment1/:segment2', function () use ($app) {

    $app->map('/', function ($segment1, $segment2) use ($app) {
        // something
    })->via('GET', 'POST');

    $app->map('/:id', function ($segment1, $segment2, $id) use ($app) {
        // something
    })->via('GET', 'PUT', 'DELETE');
});

另请参阅this issue