SLIM框架暂停调用

时间:2012-04-17 19:47:19

标签: php frameworks execution slim halt

对Slim Framework php有疑问。

在我的应用程序中,如果条件不匹配,我想停止执行应用程序。

每个Slim文档都有一个暂停功能。但这似乎并没有起作用。 即使在调用Halt后,应用程序也会连续执行。

伪代码:

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


$app->run();

我在期待,我们称之为Halt函数,“其他代码”不应该执行。 但情况似乎并非如此。

有什么想法吗?

4 个答案:

答案 0 :(得分:6)

停止应该有效。正如Josh所说,它确实需要在路由回调中调用。例如,如果找不到指定的路由,我会将以下内容用作自定义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));

    });

请注意使用的引用($ app) - 有关详细信息,请访问:http://www.slimframework.com/documentation/stable#scope-resolution

答案 1 :(得分:2)

只应在路由回调的上下文中调用Halt。我建议您在官方的Slim Framework支持论坛上提出任何进一步的问题:

http://help.slimframework.com

祝你好运, 约什

答案 2 :(得分:1)

您可以随时手动调用exit来停止脚本执行。

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

答案 3 :(得分:0)

如果您处于回调函数

,则可以使用return
return $app->halt(500,"message");

$app->stop();
暂停功能后