Recess Framework에 HTTP 헤더를 추가하려면 어떻게해야합니까?Recess Framework + Header 추가
나는 이것을 시도한다.
header ('HTTP/1.1 204 No Content');
하지만 작동하지 않습니다.
감사합니다.
Recess Framework에 HTTP 헤더를 추가하려면 어떻게해야합니까?Recess Framework + Header 추가
나는 이것을 시도한다.
header ('HTTP/1.1 204 No Content');
하지만 작동하지 않습니다.
감사합니다.
이 경우 특정 응답에 대해 HTTP 헤더를 추가하는 가장 좋은 방법은 새 응답 유형을 만드는 것입니다. 이것은 정상적인 방법 (return $ this-> ok()와 같은)으로 컨트롤러 메소드에서 리턴하고 프레임 워크에 헤더를 추가하게합니다. Recess 버전에는 No Content 응답이 있지만, AbstractController에는없는 것이므로 액세스 할 수 없습니다. 확인하려면 다음 단계를 따르십시오.
recess/디렉토리를보십시오. 우리는 여러 파일을 수정합니다.
먼저 recess/http/responses/NoContentResponse.class.php 파일을 생성하십시오 (이미 존재하지 않는 경우). 버전에 잘 존재할 수 있습니다. 이 코드를 사용
<?php
Library::import('recess.http.Response');
Library::import('recess.http.ResponseCodes');
class NoContentResponse extends Response {
public function __construct(Request $request) {
parent::__construct($request, ResponseCodes::HTTP_NO_CONTENT,
ResponseCodes::getMessageForCode(ResponseCodes::HTTP_NO_CONTENT));
}
}
?>
확실히 HTTP_NO_CONTENT 응답 코드 (이미 거기에 있어야한다) 세스/HTTP/ResponseCodes.class.php 파일에 있는지 확인합니다.
이제 컨트롤러에서 응답에 액세스 할 수 있는지 확인해야합니다. 오목/프레임 워크/AbstractController.class.php 파일에 다음 코드를 추가합니다 : 이것은 당신이> nocontent이다() 당신의 컨트롤러에서 다른 모든 응답과 같은 $ this-을 반환하게됩니다
protected function noContent() {
Library::import('recess.http.responses.NoContentResponse');
$response = new NoContentResponse($this->request);
return $response;
}
. 행운을 빕니다!