CI4

[코드이그나이터] IncomingRequest Class

으누아빠 2020. 9. 4. 12:01
반응형

IncomingRequest Class

출처:
http://ci4doc.cikorea.net/incoming/incomingrequest.html

브라우저와 같은 클라이언트의 HTTP 요청(request)에 대한 메소드를 제공

getUserAgent([$filter = null])

  • Parameters:
    • $filter (int) – 적용할 필터 유형

SERVER 데이터에서 사용자 에이전트(User Agent) 문자열을 반환

$request->getUserAgent();

getServer([$index = null[, $filter = null[, $flags = null]]])

  • Parameters:
    • $filter (int) – 적용할 필터 유형
    • $index (mixed) – Value name
    • $flags (int) – 적용할 플래그

검색된 $_SERVER 값 또는 null을 반환

$request->getServer(['SERVER_PROTOCOL', 'REQUEST_URI']);

getCookie([$index = null[, $filter = null[, $flags = null]]])

  • Parameters:
    • $index (mixed) – COOKIE명
    • $filter (int) – 적용할 필터 유형
    • $flags (int) – 적용할 플래그

제공된 매개 변수가 없는 경우 $_COOKIE, 있으면 검색된 COOKIE 값 또는 null

$request->getCookie('some_cookie');
$request->getCookie('some_cookie', FILTER_SANITIZE_STRING); // with filter
$request->getCookie(['some_cookie', 'some_cookie2']);

getGet([$index = null[, $filter = null[, $flags = null]]])

  • Parameters:
    • $index (string) – 찾을 변수/키의 이름.
    • $filter (int) – 적용할 필터 유형
    • $flags (int) – 적용할 플래그

제공된 매개 변수가 없는 경우 $_GET, 있으면 검색된 GET 값 또는 null

$request->getGet('field1');

getPost([$index = null[, $filter = null[, $flags = null]]])

  • Parameters:
    • $index (string) – 찾을 변수/키의 이름.
    • $filter (int) – 적용할 필터 유형
    • $flags (int) – 적용할 플래그

제공된 매개 변수가 없는 경우 $_POST, 있으면 검색된 POST 값 또는 null

$request->getPost('field1');

getPostGet([$index = null[, $filter = null[, $flags = null]]])

  • Parameters:
    • $index (string) – 찾을 변수/키의 이름.
    • $filter (int) – 적용할 필터 유형
    • $flags (int) – 적용할 플래그

getPost(), getGet()와 거의 같은 방식으로 작용하며, 2개의 메소드를 결합한 것. POST에서 먼저 검색하여 발견되지 않으면 GET에서 검색

$request->getPostGet('field1');

getGetPost([$index = null[, $filter = null[, $flags = null]]])

  • Parameters:
    • $index (string) – 찾을 변수/키의 이름.
    • $filter (int) – 적용할 필터 유형
    • $flags (int) – 적용할 플래그

getPost(), getGet()와 거의 같은 방식으로 작용하며, 2개의 메소드를 결합한 것. GET에서 먼저 검색하여 발견되지 않으면 POST에서 검색합니다.

$request->getGetPost('field1');

getVar([$index = null[, $filter = null[, $flags = null]]])

  • Parameters:
    • $index (string) – 찾을 변수/키의 이름.
    • $filter (int) – 적용할 필터 유형
    • $flags (int) – 적용할 플래그

제공된 매개 변수가 없는 경우 $_REQUEST, 있으면 검색된 REQUEST 값 또는 null

$request->getVar('some_data');
$request->getVar(['field1', 'field2']);
$request->getVar();

isSecure()

HTTPS 요청 true, 그렇지 않으면 false

isAJAX()

AJAX 요청 true, 그렇지 않으면 false

요청 URL

$uri = $request->uri;

echo $uri->getScheme();         // http
echo $uri->getAuthority();      // snoopy:password@example.com:88
echo $uri->getUserInfo();       // snoopy:password
echo $uri->getHost();           // example.com
echo $uri->getPort();           // 88
echo $uri->getPath();           // /path/to/page
echo $uri->getQuery();          // foo=bar&bar=baz
echo $uri->getSegments();       // ['path', 'to', 'page']
echo $uri->getSegment(1);       // 'path'
echo $uri->getTotalSegments();  // 3

JSON 데이터 가져오기

$json = $request->getJSON();

getRawInput()을 사용하여 php://input의 내용을 원시(raw) 스트림으로 가져올 수 있음

원시(raw) 데이터 검색 (PUT, PATCH, DELETE)

$data = $request->getRawInput();