User Agent 클래스
User Agent 클래스는 브라우저, 모바일 장치 또는 사이트를 방문하는 로봇에 대한 정보를 식별하는 데 도움이 되는 기능을 제공합니다.
User Agent 클래스 사용
클래스 초기화
User Agent 클래스는 언제든지 IncomingRequest 인스턴스에서 직접 사용할 수 있습니다. 기본적으로 컨트롤러는 User Agent 클래스를 검색할 수 있는 요청 인스턴스가 있습니다.
<?php
$agent = $this->request->getUserAgent();
User Agent 정의
User Agent 이름 정의는 구성 파일 app/Config/UserAgents.php에 있습니다. 필요한 경우 다양한 User Agent 배열에 항목을 추가할 수 있습니다.
Example
User Agent 클래스가 초기화되면 사이트를 탐색하는 User Agent가 웹 브라우저, 모바일 장치 또는 로봇인지 확인하려고 시도합니다. 사용 가능한 경우 플랫폼 정보도 수집합니다.
<?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 Reference
- class CodeIgniter\HTTP\UserAgent
- isBrowser([$key = null])
- Parameters
$key (
string
) – 선택적 브라우저 이름
- Returns
User Agent가 (지정된) 브라우저인 경우 true, 그렇지 않으면 false
- Return type
bool
사용자 에이전트가 알려진 웹 브라우저인 경우 true/false (부울)를 리턴합니다.
<?php 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 (부울)를 반환합니다.
<?php 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가 다른 사이트에서 참조된 경우 리퍼러 일반적으로 다음과 같이 테스트합니다.
<?php 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 문자열을 구문 분석합니다.