Request 클래스
요청 클래스는 HTTP 요청을 객체 지향적으로 표현한 것입니다. 브라우저에서 애플리케이션으로 들어오는 요청과, 애플리케이션에서 외부로 전송하는 요청 모두에 사용됩니다.
이 클래스는 양쪽에서 공통으로 필요한 기능을 제공하며, 각각의 경우에 맞게 Request 클래스를 확장해 특정 기능을 추가한 클래스들이 있습니다. 실제 사용에서는 이러한 클래스를 사용해야 합니다.
자세한 사용법은 IncomingRequest Class와 CURLRequest Class 문서를 참고하세요.
클래스 참조
- class CodeIgniter\HTTP\Request
- getIPAddress()
- 반환:
사용자의 IP 주소(감지 가능한 경우). IP 주소가 유효하지 않으면
0.0.0.0을 반환합니다.- 반환 형식:
string
현재 사용자의 IP 주소를 반환합니다. IP 주소가 유효하지 않으면 메서드는
0.0.0.0을 반환합니다:<?php echo $request->getIPAddress();
중요
이 메서드는
Config\App::$proxyIPs설정을 고려하며, 허용된 프록시 IP의 경우 HTTP 헤더가 보고한 클라이언트 IP 주소를 반환합니다.
- isValidIP($ip[, $which = ''])
버전 4.0.5부터 폐지됨: 대신 유효성 검사을 사용하세요.
중요
이 메서드는 더 이상 권장되지 않습니다. 향후 릴리스에서 제거될 예정입니다.
- 매개변수:
$ip (
string) – IP 주소$which (
string) – IP 프로토콜(ipv4또는ipv6)
- 반환:
주소가 유효하면 true, 그렇지 않으면 false
- 반환 형식:
bool
IP 주소를 입력으로 받아 해당 주소가 유효한지 여부에 따라 true 또는 false(불리언)를 반환합니다.
참고
$request->getIPAddress() 메서드는 위에서 IP 주소를 자동으로 검증합니다.
<?php if (! $request->isValidIP($ip)) { echo 'Not Valid'; } else { echo 'Valid'; }
두 번째 선택 매개변수로
ipv4또는ipv6문자열을 받아 IP 형식을 지정할 수 있습니다. 기본값은 두 형식 모두를 검사합니다.
- getMethod()
- 반환:
HTTP 요청 메서드
- 반환 형식:
string
$_SERVER['REQUEST_METHOD']를 반환합니다.<?php echo $request->getMethod(); // Outputs: POST
- setMethod($method)
버전 4.0.5부터 폐지됨: 대신
CodeIgniter\HTTP\Request::withMethod()를 사용하세요.- 매개변수:
$method (
string) – 요청 메서드를 설정합니다. 요청을 스푸핑할 때 사용됩니다.
- 반환:
이 요청
- 반환 형식:
- withMethod($method)
Added in version 4.0.5.
- 매개변수:
$method (
string) – 요청 메서드를 설정합니다.
- 반환:
새 요청 인스턴스
- 반환 형식:
- getServer([$index = null[, $filter = null[, $flags = null]]])
- 매개변수:
$index (
mixed) – 값 이름$filter (
int) – 적용할 필터의 유형입니다. 필터 목록은 PHP manual에서 확인할 수 있습니다.$flags (
int|array) – 적용할 플래그입니다. 플래그 목록은 PHP manual에서 확인할 수 있습니다.
- 반환:
$_SERVER항목 값(찾으면 반환, 없으면 null)- 반환 형식:
mixed
이 메서드는 IncomingRequest Class의
getPost(),getGet(),getCookie()메서드와 동일하지만, 서버 데이터($_SERVER)를 가져옵니다:<?php $request->getServer('some_data');
여러
$_SERVER값을 배열로 반환하려면 필요한 키들을 배열로 전달하세요.<?php $request->getServer(['SERVER_PROTOCOL', 'REQUEST_URI']);
- getEnv([$index = null[, $filter = null[, $flags = null]]])
버전 4.4.4부터 폐지됨: 이 메서드는 초기 시점에서는 작동하지 않습니다. 대신
env()를 사용하세요.- 매개변수:
$index (
mixed) – 값 이름$filter (
int) – 적용할 필터의 유형입니다. 필터 목록은 PHP manual에서 확인할 수 있습니다.$flags (
int|array) – 적용할 플래그입니다. 플래그 목록은 PHP manual에서 확인할 수 있습니다.
- 반환:
$_ENV항목 값(찾으면 반환, 없으면 null)- 반환 형식:
mixed
이 메서드는 IncomingRequest Class의
getPost(),getGet(),getCookie()메서드와 동일하지만, 환경 변수 데이터($_ENV)를 가져옵니다:<?php $request->getEnv('some_data');
여러
$_ENV값을 배열로 반환하려면 필요한 키들을 배열로 전달하세요.<?php $request->getEnv(['CI_ENVIRONMENT', 'S3_BUCKET']);
- setGlobal($method, $value)
- 매개변수:
$method (
string) – 메서드 이름$value (
mixed) – 추가할 데이터
- 반환:
이 요청
- 반환 형식:
$_GET,$_POST등과 같은 PHP 전역 변수의 값을 수동으로 설정할 수 있게 합니다.
- fetchGlobal($method[, $index = null[, $filter = null[, $flags = null]]])
- 매개변수:
$method (
string) – 입력 필터 상수$index (
mixed) – 값 이름$filter (
int) – 적용할 필터의 유형입니다. 필터 목록은 PHP manual에서 확인할 수 있습니다.$flags (
int|array) – 적용할 플래그입니다. 플래그 목록은 PHP manual에서 확인할 수 있습니다.
- 반환 형식:
mixed
쿠키, GET, POST 등과 같은 전역에서 하나 이상의 항목을 가져옵니다. 필요에 따라 필터를 전달하여 입력을 필터링할 수 있습니다.