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 문자열을 구문 분석합니다.
-