2012-03-21 2 views
1

동일한 컨텐츠를 표시하기 위해 여러 HTTP 메소드 (GET 및 POST)를 라우팅하려고합니다. 예를 들어 등록 페이지가 있습니다.PHP 슬림 프레임 워크 - 여러 HTTP 메소드

$app->map('/admin/register', function() use ($app) { 
    $app->render('/admin/register.twig'); 
})->via('GET', 'POST'); 

GET 및 POST 요청시 등록 양식이 표시됩니다. 그런 다음 POST에서 발생하는 '추가 작업'을 지정하려고합니다.

$app->map('/admin/register', function() use ($app) { 
    $app->render('/admin/register.twig'); 
})->via('GET', 'POST'); 

$app->post('/admin/register', function() use ($app) { 
    // Validate register information 
}); 

그러나 두 번째 기능은 무시됩니다. 이 작업을 수행하여 레지스터 양식 위에 오류 메시지를 표시 할 수 있습니다. 이 일을 어떻게 성취 할 수 있습니까? 이 게시물을 감지에

답변

2

, 당신은을 사용할 필요가 지금처럼 일반 맵 경로에서 '패스'도우미 : http://www.slimframework.com/documentation/develop#routing-helpers-pass

: 여기

$app->map('/admin/register', function() use ($app) { 
    if($app->request()->isPost()) { 
     $app->pass(); 
    } 
    $app->render('/admin/register.twig'); 
})->via('GET', 'POST'); 

$app->post('/admin/register', function() use ($app) { 
    // Validate register information 
}); 

은에 대한 설명서입니다

2

당신은, 첫 번째 함수를 수정 다음 코드를 추가 할 필요가/방법을 얻을 : 당신이 포스트 경로가 슬림 무시하지 않으려면

if ($app->request()->isPost()){ 
echo 'Post request'; 
} 
관련 문제