2015-09-08 3 views
-3

Я бы добавил конкретный метод для добавления кода состояния для моего приложения symfony. вместо того, чтобы вернуться к следующему результату 500 внутренняя ошибка сервера,Добавить код состояния в symfonny

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? и как? Thanks

ответ

1

Symfony предоставляет класс ответа: простое представление ответа HTTP-ответа на PHP. Это позволяет вашему приложению использовать объектно-ориентированный интерфейс для построения ответа, который должен быть возвращен клиенту. Таким образом, в вашем контроллере вы можете настроить реакцию следующим образом:

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

это не работает –

+0

это произошла ошибка, когда вы используете этот код? –

1

Теоретически, да, вы можете. Response позволяет получить код состояния. Однако эти коды состояния определяются протоколом HTTP (см., Например, http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).

Для сообщений об ошибках, безусловно, гораздо лучше использовать тело ответа (JSON, обычный текст, html, ...).