User Agent 클래스

User Agent 클래스는 브라우저, 모바일 장치 또는 사이트를 방문하는 로봇에 대한 정보를 식별하는 데 도움이 되는 기능을 제공합니다.

User Agent 클래스 사용

클래스 초기화

User Agent 클래스는 언제든지 IncomingRequest 인스턴스에서 직접 사용할 수 있습니다. 기본적으로 컨트롤러는 User Agent 클래스를 검색할 수 있는 요청 인스턴스가 있습니다.

$agent = $this->request->getUserAgent();

User Agent 정의

User Agent 이름 정의는 구성 파일 app/Config/UserAgents.php에 있습니다. 필요한 경우 다양한 User Agent 배열에 항목을 추가할 수 있습니다.

Example

User Agent 클래스가 초기화되면 사이트를 탐색하는 User Agent가 웹 브라우저, 모바일 장치 또는 로봇인지 확인하려고 시도합니다. 사용 가능한 경우 플랫폼 정보도 수집합니다.

$agent = $this->request->getUserAgent();

if ($agent->isBrowser())
{
        $currentAgent = $agent->getBrowser().' '.$agent->getVersion();
}
elseif ($agent->isRobot())
{
        $currentAgent = $this->agent->robot();
}
elseif ($agent->isMobile())
{
        $currentAgent = $agent->getMobile();
}
else
{
        $currentAgent = 'Unidentified User Agent';
}

echo $currentAgent;

echo $agent->getPlatform(); // Platform info (Windows, Linux, Mac, etc.)

Class Reference

CodeIgniter\HTTP\UserAgent
isBrowser([$key = NULL])
Parameters:
  • $key (string) – 선택적 브라우저 이름
Returns:

User Agent가 (지정된) 브라우저인 경우 TRUE, 그렇지 않으면 FALSE

Return type:

bool

사용자 에이전트가 알려진 웹 브라우저인 경우 TRUE/FALSE (부울)를 리턴합니다.

if ($agent->isBrowser('Safari'))
{
        echo 'You are using Safari.';
}
elseif ($agent->isBrowser())
{
        echo 'You are using a browser.';
}

Note

이 예에서 문자열 “Safari” 는 브라우저 정의 목록의 배열 키입니다. 새 브라우저를 추가하거나 문자열을 변경하려는 경우 app/Config/UserAgents.php에서 이 목록을 찾을 수 있습니다.

isMobile([$key = NULL])
Parameters:
  • $key (string) – 선택적 모바일 장치 이름
Returns:

User Agent가 (지정된) 모바일 장치 인 경우 TRUE, 그렇지 않으면 FALSE

Return type:

bool

User Agent가 알려진 모바일 장치인 경우 TRUE/FALSE (부울)를 반환합니다.

if ($agent->isMobile('iphone'))
{
        echo view('iphone/home');
}
elseif ($agent->isMobile())
{
        echo view('mobile/home');
}
else
{
        echo view('web/home');
}
isRobot([$key = NULL])
Parameters:
  • $key (string) – 선택적 로봇 이름
Returns:

User Agent가 (지정된) 로봇인 경우 TRUE, 그렇지 않은 경우 FALSE

Return type:

bool

User Agent가 알려진 로봇인 경우 TRUE / FALSE (부울)를 리턴합니다.

Note

User Agent 라이브러리에는 가장 일반적인 로봇 정의만 포함됩니다. 전체 봇 목록이 아닙니다. 수백 개가 있으므로 각각을 검색하는 것은 그리 효율적이지 않습니다. 일반적으로 사이트를 방문하는 일부 봇이 목록에없는 경우 app/Config/UserAgents.php 파일에 봇을 추가할 수 있습니다.

isReferral()
Returns:User Agent가 추천인 경우 TRUE, 그렇지 않으면 FALSE
Return type:bool

User Agent가 다른 사이트에서 참조된 경우 TRUE/FALSE(부울)를 리턴합니다.

getBrowser()
Returns:감지된 브라우저 또는 빈 문자열
Return type:string

사이트를 방문한 웹 브라우저의 이름이 포함된 문자열을 반환합니다.

getVersion()
Returns:감지된 브라우저 버전 또는 빈 문자열
Return type:string

사이트를 방문한 웹 브라우저의 버전 번호가 포함된 문자열을 반환합니다.

getMobile()
Returns:감지된 모바일 장치 브랜드 또는 빈 문자열
Return type:string

사이트를 방문한 모바일 기기의 이름이 포함된 문자열을 반환합니다.

getRobot()
Returns:감지된 로봇 이름 또는 빈 문자열
Return type:string

사이트를 방문한 로봇 이름이 포함된 문자열을 반환합니다.

getPlatform()
Returns:감지된 운영 체제 또는 빈 문자열
Return type:string

사이트를 방문한 플랫폼이 포함된 문자열을 반환합니다 (Linux, Windows, OS X, etc.).

getReferrer()
Returns:감지 된 리퍼러(referrer) 또는 빈 문자열
Return type:string

User Agent가 다른 사이트에서 참조된 경우 리퍼러 일반적으로 다음과 같이 테스트합니다.

if ($agent->isReferral())
{
        echo $agent->referrer();
}
getAgentString()
Returns:전체 User Agent 문자열 또는 빈 문자열
Return type:string

전체 User Agent 문자열이 포함된 문자열을 반환합니다. 일반적으로 다음과 같습니다

Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.4) Gecko/20060613 Camino/1.0.2
parse($string)
Parameters:
  • $string (string) – 사용자 정의 User Agent 문자열
Return type:

void

현재 방문자가 보고한 것과 다른 사용자 정의 User Agent 문자열을 구문 분석합니다.