маршрутная группа стройных рамок

1

Я хочу создать группу маршрутов ¨dynamic¨ в Slim, но я получаю

Предупреждение: Отсутствует аргумент 1 для {закрытия}() i

это мой код:

\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)

он начинает работать, но мне нужно, чтобы эти сегменты были динамическими. Как мне это сделать?

Теги:
routes
slim

1 ответ

2
Лучший ответ

Вы должны добавить параметры группы к их дочерним маршрутам:

$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');
});

Также посмотрите на эту проблему.

  • 0
    Это будет работать. Спасибо!
  • 1
    просто чтобы подтвердить, что я не смогу использовать $ сегмент1 и $ сегмент2 внутри группы (мне нужно создать там объект и использовать его внутри, чтобы $ app-> map () спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню