Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SLIM框架暂停调用_Php_Frameworks_Execution_Slim_Halt - Fatal编程技术网

Php SLIM框架暂停调用

Php SLIM框架暂停调用,php,frameworks,execution,slim,halt,Php,Frameworks,Execution,Slim,Halt,对slimframeworkphp有疑问 在我的应用程序中,如果条件不匹配,我希望停止应用程序的执行 根据Slim文档,有一个暂停功能。但这似乎不起作用。 即使在调用Halt之后,应用程序仍将继续执行 伪代码: if ( $valid ) { // Do something } else { $app->halt(500, "not valid"); } // Other code here. $app->run(); 我希望,我们调用Halt函数,“

对slimframeworkphp有疑问

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

根据Slim文档,有一个暂停功能。但这似乎不起作用。 即使在调用Halt之后,应用程序仍将继续执行

伪代码:

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


$app->run();
我希望,我们调用Halt函数,“其他代码”不应该执行。 但事实似乎并非如此

有什么想法吗?

您可以始终手动调用以停止脚本执行

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

Halt只能在路由回调的上下文中调用。我建议您在官方Slim框架支持论坛上提出更多问题:

致以最良好的祝愿,
乔希

停止应该有效。正如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)的参考信息——更多信息可在此处找到:

如果使用回调函数,则可以使用return

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


停止功能后。

这就是我一直在做的。但是苗条的男人不推荐它。他们说哈尔特应该处理好它。这是参考资料@凯文拉维啊。好吧,那我就被绊倒了。不管怎样,那是现在唯一的选择!谢谢
$app->stop();