HTTP 소개

고도몰의 HTTP 관련 메서드를 소개하는 내용입니다.

📌 Request

Form을 작성하거나, File을 업로드 하는 등의 사용자 요청과 관련된 제어를 수행합니다. 일반적으로 $_GET, $_POST, $_FILES, $_SERVER, $_REQUEST의 내용에 접근할 수 있으며, 아래 명시된 편의 메서드를 제공합니다.

Request::get()->get('someKey'); // $_GET['someKey']
Request::post()->get('someKey'); // $_POST['someKey']
Request::server()->get('REQUEST_URI'); // $_SERVER['REQUEST_URI']
Request::files()->get('someKey'); // $_FILES['someKey']
Request::request()->get('someKey'); // $_REQUEST['someKey']

단, $_ENV 는 지원하지 않습니다. 다차원 키의 접근 방법으로 dot notation 을 지원합니다.

값 설정하기

Request::get()->set('name', 'value');
Request::post()->set('name', 'value');
Request::files()->set('file.name', 'value');
Request::request()->set('sampel.name', 'value');
Request::server()->set('REQUEST_URI', 'value');

값 가져오기

$name = Request::get()->get('name');
$name = Request::post()->get('name.first');
$name = Request::files()->get('name.first');
$name = Request::request()->get('name.first');
$name = Request::server()->get('REQUEST_URI');

요청값이 없는 경우 다음과 같이 2번째 인자로, 기본값을 설정할 수 있습니다.

모든 값 가져오기

해당 get()이 가지고 있는 모든 변수를 배열로 반환합니다.

값 지우기

모든 값 지우기

값의 존재유무 체크하기

주요 Method

getServerAddress()

서버의 IP주소를 반환하며, cli에서도 정상적으로 가져올 수 있도록 처리되었습니다.

getRemoteAddress()

클라이언트의 ip주소를 반환하며, Proxy 혹은 nginx와 같은 구조에서 정상적으로 반환할 수 있도록 처리되었습니다.

isCli()

cli접근 여부를 체크하여 boolean을 반환합니다.

isAjax()

Requestajax인지 체크 후 boolean 값을 반환합니다.

isMethod($method)

주어진 $method 인자와 현재 REQUEST_METHOD 비교 후 boolean 값을 반환하며, 파라미터가 get, post, head, options, put, delete, trace, connect이 아닌 경우 예외 처리됩니다.

isMobile()

도메인m이 있는지 여부를 통해 모바일 여부를 boolean 형태로 반환합니다.

isMobileDevice()

접속한 기기가 모바일 or 태블릿인지 UserAgent를 통해 체크 후 boolean을 반환합니다.

isRefresh()

브라우저에서 새로고침을 했는지에 대해 체크 후 boolean을 반환합니다.

📌 Response

Json, Redirect, Streamed, BinaryFile 의 4가지 형태로 응답 객체를 생성할 수 있습니다. Chaining method를 제공합니다.

Create Instance

📌 Session

파일 세션만 지원합니다.

다차원 키의 접근 방법으로 dot notation 을 지원합니다.

Setting a value

Getting a value

2번째 인자로, 기본값을 설정할 수 없습니다. 미설정시 null 로 설정됩니다.

Getting all values

Removing a value

Removing all values

Determining if an given key exists

쿠키는 다차원 키를 사용할 수 없습니다.

Setting a value

Getting a value

Getting all values

Removing a value

Determining if an given key exists

Last updated

Was this helpful?