사용자 에이전트 클래스

사용자 에이전트 클래스는 사이트를 방문하는 브라우저, 모바일 기기 또는 로봇에 대한 정보를 식별하는 데 도움이 되는 함수를 제공합니다.

사용자 에이전트 클래스 사용하기

클래스 초기화하기

사용자 에이전트 클래스는 현재 IncomingRequest 인스턴스에서 항상 직접 사용할 수 있습니다. 기본적으로 컨트롤러에 요청 인스턴스가 있으며 거기서 사용자 에이전트 클래스를 가져올 수 있습니다:

<?php

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

사용자 에이전트 정의

사용자 에이전트 이름 정의는 app/Config/UserAgents.php에 위치한 설정 파일에 있습니다. 필요에 따라 다양한 사용자 에이전트 배열에 항목을 추가할 수 있습니다.

예시

사용자 에이전트 클래스가 초기화되면 사이트를 탐색하는 사용자 에이전트가 웹 브라우저인지, 모바일 기기인지, 로봇인지 판별을 시도합니다. 가능한 경우 플랫폼 정보도 수집합니다:

<?php

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

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

echo $currentAgent;

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

클래스 레퍼런스

class CodeIgniter\HTTP\UserAgent
isBrowser([$key = null])
매개변수:
  • $key (string) – 선택적 브라우저 이름

반환:

사용자 에이전트가 (지정된) 브라우저이면 true, 아니면 false

반환 형식:

bool

사용자 에이전트가 알려진 웹 브라우저이면 true/false(불리언)를 반환합니다.

<?php

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

참고

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

isMobile([$key = null])
매개변수:
  • $key (string) – 선택적 모바일 기기 이름

반환:

사용자 에이전트가 (지정된) 모바일 기기이면 true, 아니면 false

반환 형식:

bool

사용자 에이전트가 알려진 모바일 기기이면 true/false(불리언)를 반환합니다.

<?php

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

반환:

사용자 에이전트가 (지정된) 로봇이면 true, 아니면 false

반환 형식:

bool

사용자 에이전트가 알려진 로봇이면 true/false(불리언)를 반환합니다.

참고

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

isReferral()
반환:

사용자 에이전트가 리퍼럴이면 true, 아니면 false

반환 형식:

bool

사용자 에이전트가 다른 사이트에서 참조되었으면 true/false(불리언)를 반환합니다.

getBrowser()
반환:

감지된 브라우저 이름 또는 빈 문자열

반환 형식:

string

사이트를 보고 있는 웹 브라우저의 이름이 담긴 문자열을 반환합니다.

getVersion()
반환:

감지된 브라우저 버전 또는 빈 문자열

반환 형식:

string

사이트를 보고 있는 웹 브라우저의 버전 번호가 담긴 문자열을 반환합니다.

getMobile()
반환:

감지된 모바일 기기 브랜드 또는 빈 문자열

반환 형식:

string

사이트를 보고 있는 모바일 기기의 이름이 담긴 문자열을 반환합니다.

getRobot()
반환:

감지된 로봇 이름 또는 빈 문자열

반환 형식:

string

사이트를 보고 있는 로봇의 이름이 담긴 문자열을 반환합니다.

getPlatform()
반환:

감지된 운영 체제 또는 빈 문자열

반환 형식:

string

사이트를 보고 있는 플랫폼(Linux, Windows, OS X 등)이 담긴 문자열을 반환합니다.

getReferrer()
반환:

감지된 리퍼러 또는 빈 문자열

반환 형식:

string

사용자 에이전트가 다른 사이트에서 참조된 경우의 리퍼러입니다. 일반적으로 다음과 같이 확인합니다:

<?php

if ($agent->isReferral()) {
    echo $agent->getReferrer();
}
getAgentString()
반환:

전체 사용자 에이전트 문자열 또는 빈 문자열

반환 형식:

string

전체 사용자 에이전트 문자열이 담긴 문자열을 반환합니다. 일반적으로 다음과 같은 형태입니다:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.4) Gecko/20060613 Camino/1.0.2
parse($string)
매개변수:
  • $string (string) – 사용자 정의 사용자 에이전트 문자열

반환 형식:

void

현재 방문자가 보고한 것과 다른 사용자 정의 사용자 에이전트 문자열을 파싱합니다.