2015-07-09 2 views
0

Я пытаюсь использовать группы Слима маршрут, но у меня возникают проблемы при получении параметров URL-адреса, чтобы передать что-нибудь в.Слим Route Group не передавая переменную URL-адрес обратного вызова

$app->group('/contest/:id', function($id) use ($API){ 
    error_log('THIS IS THE CONTEST ID: '.$id); // id is blank... why? 
    $API->authorize('contest', $id); 
    $contest = new Contest($id); 

    $app->get('', function() use ($contest, $API){ 
     $data = $contest->getSettings(); 
     $API->output($data); 
    }); 

    $app->get('/settings', function() use ($contest, $API){ 
     $data = $contest->getSettings(); 
     $API->output($data); 
    }); 

    $app->get('/stats', function() use ($contest, $API){ 
     $data = $contest->getStats(); 
     $API->output($data); 
    }); 

    $app->get('/fields', function() use ($contest, $API){ 
     $data = $contest->getFields(); 
     $API->output($data); 
    }); 
}); 

Почему я не могу получить доступ к $ id в функции обратного вызова? Разве это не точка маршрутных групп?

ответ

0

Я попытался воспроизвести это - с последней стабильной версией 2.6.2 - и получил (возможно) такую ​​же проблему, как и вы.

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

Route PARAMS в группе может быть помещен в обратный вызов от их Чайлдс:

$app->group('/contest/:id', function() use ($API){ 

    $app->get('', function($id) use ($contest, $API){ 
     $API->authorize('contest', $id); 
     $contest = new Contest($id); 
     $data = $contest->getSettings(); 
     $API->output($data); 
    }); 
}); 

Но да, это некрасиво санкционировать в каждом маршруте, может быть, вы могли бы сделать это в каком-то middleware? Я думаю, что последний на странице документов выглядит хорошо для ваших нужд.

Редактировать

О, я недавно нашел this issue, где @Gisheri уже получил ответ на тонком сопровождающем.

+0

yah спасибо, вот что я закончил делать .. возможно, это когда-нибудь будет особенностью. – Gisheri

+0

Mh Я не знаю реализации в предстоящем Slim3. – danopz

Смежные вопросы