2016-01-02 2 views
0

Я пытаюсь создать 2 маршрутов в моем Слим приложения для обработки мульти и один ресурс запросов GET.PHP Слим Framework маршрутизации нескольких и одного ресурса просит

Например:

/обзоры вернутся все опросы

/обзоры/3 возвратит обследование с идентификатором 3

Однако следующие выдает ошибку сервера :

$app->get('/surveys', function ($request, $response, $args) { 

    // Code here 

}); 

$app->get('/surveys/{id}', function ($request, $response, $args) { 

    // Code here 

}); 

Любые идеи, как я могу это сделать?

Спасибо

+0

Какие ошибки он производит? И какие URL-адреса вы пытались открыть? – Stalinko

+0

«Ошибка приложения Slim Произошла ошибка сайта. Извините за временные неудобства». URL-адреса верны. –

+1

Пожалуйста, покажите подробности, используя конфигурацию [Обработчик ошибок] (http://www.slimframework.com/docs/handlers/error.html) и покажите нам ошибку. –

ответ

0

Проблема заключалась в том, что я был третий маршрут:

$app->get('/surveys/count', function ($request, $response, $args) { 

    // code here 

}); 

, который я не заплатил никакого внимания, но он возился со вторым маршрутом, где {id} шел по «счетному» слову. Поскольку я не включил обработчик ошибок (спасибо Давиде Пасторе), я не мог найти, в чем проблема.

Я изменил второй маршрут:

$app->get('/surveys/{id:[0-9]+}', function ($request, $response, $args) { 

    // code here 

}); 

и теперь все работает отлично!

благодарит за помощь!

1

Я хотел бы написать это следующим образом:

$app->group('/surveys', function() use($app) { 
    $app->get('', function() { 

      // Endpoint for '/surveys' 

    }); 

    $app->get('/{id}', function ($id) { 

      // Endpoint for '/surveys/{id}' 

    }); 
}); 
+0

Ваш код работает нормально. Проблема была в другом месте. Я создал ответ. Еще раз спасибо. –

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