Slim的文档读取了有关框架的halt方法的以下内容:
站住 Slim应用程序的halt()方法将立即返回带有给定状态代码和主体的HTTP响应。此方法接受两个参数: HTTP状态代码和可选消息。Slim将立即停止当前应用程序,并以指定的状态和可选消息(作为响应主体)向客户端发送HTTP响应。这将覆盖现有的\Slim\Http\Response对象。
例如:
//Send a default 500 error response
$app->halt(500);
//Or if you encounter a Balrog...
$app->halt(403, 'You shall not pass!');因为我在这方面遇到了一些问题,所以我根据它们的文档构建了以下测试应用程序:
<?php
// Include Slim framework dependencies;
require '../lib/Slim/Slim.php';
\Slim\Slim::registerAutoloader(); // Slim's autloader;
$app = new \Slim\Slim();
//Send a default 500 error response
$app->halt(500);有趣的是,我得到的回应是:
Fatal error: Uncaught exception 'Slim\Exception\Stop' in D:\projects\myApplication\api\lib\Slim\Slim.php:1004 Stack trace: #0 D:\projects\myApplication\api\lib\Slim\Slim.php(1024): Slim\Slim->stop() #1 D:\projects\myApplication\api\app\app.php(10): Slim\Slim->halt(500) #2 D:\projects\myApplication\api\public\index.php(4): include_once('D:\__projects\S...') #3 {main} thrown in D:\projects\myApplication\api\lib\Slim\Slim.php on line 1004不用说,HTTP响应代码是200。那么Slim到底是怎么回事?为什么HTTP响应代码不是500?
发布于 2013-11-28 22:05:52
它不允许在路由回调之外调用halt()方法。你应该这样用;
$app->get('/method/', function () {
//logical controls
//do something
//or
$app->halt();
}); https://stackoverflow.com/questions/19654370
复制相似问题