Views 2462 Votes 0 Comment 0
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

# PC, Mobile, Tablet 기기를 인식하고 분기하는 방법

UserAgent에 따라 분기하는 방법은 여러 가지가 있겠지만 다음 예제는 URL Route 처리 시 UserAgent를 분석해 해당 디렉토리의 파일을 실행하도록 라우팅하는 방법이다.



# routes/web.php 파일 내용

use Jenssegers\Agent\Agent;

Route::get('/{foo?}', function ($foo = 'welcome') {
	$agent = new Agent();
	
	//return $foo;
	//return view($foo);
	return view( ($agent->isMobile() ? 'mobile' : 'desktop').".".$foo);
});



# resources/views 구조

├── views
|   ├── mobile
|   |   ├── home.blade.php
|   └── desktop
|       ├── home.blade.php



대부분 위와 같은 코드가 바로 동작하지 않을 것이다.

다음과 같이 관련 라이브러리를 설치하고 설정하는 과정을 따라하면 된다.



1. 라이브러리 설치

$ composer require jenssegers/agent



2. config/app.php 파일에 추가


'Agent' => Jenssegers\Agent\Facades\Agent::class,



3. 사용 예

use Jenssegers\Agent\Agent;

$agent = new Agent();

$agent->setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2');
$agent->setHttpHeaders($headers);

$agent->is('Windows');
$agent->is('Firefox');
$agent->is('iPhone');
$agent->is('OS X');

$agent->isAndroidOS();
$agent->isNexus();
$agent->isSafari();

$agent->isMobile();
$agent->isTablet();
$agent->isPhone();
$agent->isDesktop();

$languages = $agent->languages();
// ['nl-nl', 'nl', 'en-us', 'en']

$device = $agent->device();

$platform = $agent->platform();

$browser = $agent->browser();

$agent->isRobot();
$robot = $agent->robot();

$browser = $agent->browser();
$version = $agent->version($browser);
$platform = $agent->platform();
$version = $agent->version($platform);


[참고] https://github.com/jenssegers/agent

[참고] https://stackoverflow.com/questions/23779088/laravel-detect-mobile-tablet-and-load-correct-views



?

List of Articles
No. Category Subject Author Date Views
1093 Etc RSVP 란? file hooni 2017.11.22 979
1092 Database [mysql] 중복데이터 삭제하는 초간단 쿼리 hooni 2017.11.22 3419
1091 System/OS [mac] How to uninstall MySQL on Mac OS. hooni 2017.11.08 882
1090 System/OS OpenSSL로 ROOT CA 생성 및 SSL 인증서 발급하기 hooni 2017.10.28 1453
1089 System/OS 무료로 HTTPS 적용하기 (Let's Encrypt) file hooni 2017.10.28 1399
1088 Etc How to completely Uninstall Coda hooni 2017.10.24 2133
1087 Etc 영어. 불규칙 동사 정리 file hooni 2017.10.04 3498
1086 System/OS [linux] iptables 초간단 세팅 스크립트 hooni 2017.09.26 1235
1085 Develop [ios] VIN Scanner (VIN barcode) 스캐너 file hooni 2017.09.16 642
1084 System/OS [mac] Homebrew/rvm/cocoapod setting hooni 2017.07.29 995
1083 Etc 캘리포니아 운전면허 문제 file hooni 2017.07.22 974
1082 Develop [android] 안드로이드 앱 문서 샘플 - NCComix file hooni 2017.07.11 2101
1081 Develop [coding] 공부해야 하는거 ㅋㅋ secret hooni 2017.06.27 0
1080 Develop [coding] Find all anagrams in a string hooni 2017.06.27 1136
1079 Etc IT감사 기법 시험 file hooni 2017.06.14 1414
1078 Develop [android] SQLiteOpenHelper를 이용한 DBManager hooni 2017.06.14 2056
Board Pagination Prev 1 4 5 6 7 8 ... 74 Next
/ 74