이전 목록 다음
채택완료

$is_mobile() 과 is_mobile() 의 차이?

2018-09-13 (목) 14:03:57 5,942

이건 이미 php로 세팅되어 있는거 같은데...

그누보드, 영카트 둘다 포함된 궁금증(?) 입니다...

반응형으로 제작시 저는 config.php 에서 

Copy
//==============================================================================
// 사용기기 설정
// pc 설정 시 모바일 기기에서도 PC화면 보여짐
// mobile 설정 시 PC에서도 모바일화면 보여짐
// both 설정 시 접속 기기에 따른 화면 보여짐
//------------------------------------------------------------------------------
define('G5_SET_DEVICE', 'both');

define('G5_USE_MOBILE', false); // 모바일 홈페이지를 사용하지 않을 경우 false 로 설정
define('G5_USE_CACHE',  true); // 최신글등에 cache 기능 사용 여부

이 부분을 저렇게 해서 사용을 하는 편인데

G5_USE_MOBILE 을 false 로 적용시

pc인지 모바일인지를 인식하는(?) 아래 구문이 적용되지 않습니다...

Copy
<?php echo $is_mobile() ? '모바일' : 'PC'; ?>

// 이때는 모바일로 접속해서 확인해도 pc로 출력이 됩니다.

그런데 is_mobile() 은 적용이 됩니다...

Copy
// is_mobile() 사용시 구분을 합니다...

// pc 일땐 PC, 모바일로 접속시 모바일로 출력이 됩니다.

<?php echo is_mobile() ? '모바일' : 'PC'; ?>

2개의 차이를 설명해주시면 감사하겠습니다....

답변 3개 / 댓글 5개

채택된 답변
+20 포인트
2018-09-13 (목) 14:29:14

<?php echo $is_mobile ? '모바일' : 'PC'; ?>

<?php echo is_mobile() ? '모바일' : 'PC'; ?>

이렇게 사용하는게 바른 표현입니다.

$is_mobile은 이미 모바일인지 검색된 내용을 변수로 넣어둔 것입니다.

is_mobile()는 함수로 해당줄에 왔을 때 모바일인지를 함수를 통해 검사를 하는것입니다.

답변에 대한 댓글 3개

넵 제가 궁금했던것도 그 방법이었어요... 제목과 본문은 오타입니다.. $is_mobile 이 맞습니다..;;

본문에 config.php 설정대로 하고 말씀해주신 방법대로 해보면... 위에 $is_mobile 로 찍어보면 구분이 안되고 is_mobile() 로 찍었을땐 구분이 되는데 2개의 차이를 모르겠어서요...ㅠㅠㅠ
2018-09-13 (목) 16:26:56
$is_mobile 는 url에서 device=mobile 이라고 넘어와야 $is_mobile이 활성화 되는걸로 알고 있습니다.
common.php 에 있었던것 같습니다
아... 그럼 pc / 모바일 구분지을때는 무조건 is_mobile() 로 써야하는거네요..

감사합니다~

$는 매개변수를 선언할때 사용하는 문법(기호)입니다.

is_mobile()같은경우 is_mobile이란 함수를 실행시키란 조건으로 알고 있습니다

$뒤에 변수명이 아니라 함수를 실행시켰는데 php에는 이런 문법이 없는걸로 알고 있습니다.

<?php $abc = is_mobile();?>

<?php echo $abc() ? '모바일' : 'PC'; ?> 

으로 하셔야 아래와 같은결과가 나타나겠죠

답변에 대한 댓글 1개

오타였습니다... $is_mobile() 이 아니고.. $is_mobile 이네요;;ㅠㅠㅠ

<?php echo $is_mobile() ? '모바일' : 'PC'; ?> 이건잘못된겁니다.

<?php echo is_mobile()? '모바일' : 'PC'; ?> 이렇게 사용하셔야 맞습니다.

삼항연산 방법으로 조건문입니다.

http://b.redinfo.co.kr/84

http://chobbang.tistory.com/90

답변에 대한 댓글 1개

아... 오타였네요... $is_mobile() 이부분에서 () 는 없는 $is_mobile 변수? 상수? 입니다...

답변을 작성하려면 로그인이 필요합니다.