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