在symfonny中添加特定的状态代码

时间:2015-09-08 07:54:52

标签: symfony

我会添加一个特定的方法来为我的应用程序symfony添加状态代码。而不是使用500内部服务器错误返回以下结果,

Status Code: 500 Internal Server Error
Connection: close
Content-Length: 0
Content-Type: text/html
Date: Tue, 08 Sep 2015 07:48:24 GMT
Server: Apache/2.4.4 (Win32) OpenSSL/0.9.8y PHP/5.4.16
X-Powered-By: PHP/5.4.16

我想获得一个像

这样的新状态代码

状态代码:900用户已注册

这在symfony中可能吗?如何? 感谢

2 个答案:

答案 0 :(得分:1)

理论上,是的,你可以。 Response允许您传递状态代码。但是,此状态代码由HTTP协议定义(请参阅示例http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)。

使用响应正文(JSON,纯文本,html,...)肯定要更好地处理错误消息。

答案 1 :(得分:1)

Symfony提供了一个Response类:HTTP响应消息的简单PHP表示。这允许您的应用程序使用面向对象的接口来构造需要返回给客户端的响应。 因此,在您的控制器中,您可以按如下方式设置响应:

use Symfony\Component\HttpFoundation\Response;
.
.
.
$response = new Response();
$response->headers->set('Content-Type', 'text/html');
$response->setStatusCode(900);
$response->send();