2012-04-17 8 views
0

슬림 프레임 워크에 대한 질문이 있습니다. php.SLIM 프레임 워크 정지 전화

내 응용 프로그램에서 조건이 일치하지 않으면 응용 프로그램 실행을 중지하고 싶습니다.

Slim 설명서에는 정지 기능이 있습니다. 하지만 그건 효과가없는 것처럼 보입니다. Halt를 호출 한 후에도 응용 프로그램이 계속 실행됩니다.

의사 코드 :

if ($valid) { 
     // Do something 
} else { 
    $app->halt(500, "not valid"); 
} 
// Other code here. 


$app->run(); 

나는 우리가 우리가 정지 기능, "기타 코드"를 부르는 것을 기대하고 있었다 실행하지 않아야합니다. 하지만 그럴 것 같지 않습니다.

아이디어가 있으십니까?

답변

1

언제든지 exit을 수동으로 호출하여 스크립트 실행을 중지 할 수 있습니다.

$app->halt(500, "not valid"); 
exit; 
+0

내가 해왔 던 것. 그러나 슬림 녀석은 추천하지 않습니다. 그들은 중단해야한다고 말하고 있습니다. 다음은 참고 자료입니다. [링크] (http://help.slimframework.com/discussions/questions/122-use-or-not-to-use-exit) –

+0

@KevinRave 아. 그럼 나는 비틀 거린다. –

+0

어쨌든, 지금 유일한 옵션입니다! 감사! –

2

정지는 경로 콜백 컨텍스트 내에서만 호출해야합니다. 난 당신이 공식 슬림 프레임 워크 지원 포럼에서 더 이상의 질문을 추천 :

http://help.slimframework.com

안부를 조쉬

6

정지 작업을해야합니다. Josh가 언급했듯이, 경로 콜백 내에서 호출되어야합니다. 예를 들어, 지정된 경로를 찾을 수없는 경우 다음을 custom 404 (index.php 내부)로 사용합니다.

// not found (custom 404) 
    $app->notFound(function() use ($app) { 

      // build response 
      $response = array(
       'type' => 'not_found', 
       'message' => 'The requested resource does not exist.' 
      ); 

      // output response 
      $app->halt(404, json_encode($response)); 

    }); 

참고 참조 ($ 응용 프로그램)를 사용하는 -보기에 여기에서 찾을 수 있습니다 : http://www.slimframework.com/documentation/stable#scope-resolution

0

당신이 콜백 함수에 있다면 당신은 반환을 사용할 수 있습니다

return $app->halt(500,"message"); 

또는

$app->stop(); 

정지 기능 이후.