有一个关于Slim Framework php的问题。
在我的应用程序中,如果条件不匹配,我希望停止应用程序的执行。
根据Slim文档,有一个halt功能。但这似乎并不管用。即使在调用Halt之后,应用程序也会继续执行。
伪代码:
if ( $valid ) {
// Do something
} else {
$app->halt(500, "not valid");
}
// Other code here.
$app->run();我期望的是,我们调用Halt函数,“其他代码”不应该执行。但事实似乎并非如此。
有什么想法吗?
发布于 2012-04-18 03:48:38
您始终可以手动调用exit来停止脚本执行。
$app->halt(500, "not valid");
exit;发布于 2012-05-31 15:09:04
暂停应该是可行的。正如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
发布于 2012-04-18 09:33:03
Halt只能在路由回调的上下文中调用。我建议您在官方Slim Framework支持论坛上提出任何进一步的问题:
http://help.slimframework.com
致以最好的问候,乔希
https://stackoverflow.com/questions/10198085
复制相似问题