Thinkphp 프레임 워 크 개발 모 바 일 인터페이스(2)

이 어 전편 소개Thinkphp 프레임 워 크 개발 모 바 일 인터페이스(1),는 ThinkpHP 를 통 해 모 바 일 접근 을 통 해 테마 템 플 릿 을 자동 으로 전환 할 수 있 고 모 바 일 접근 도 할 수 있 습 니 다.
ThinkpHP 의 템 플 릿 테마 메커니즘,PC 에 만 있다 면 DEFAULT 를 수정 해 야 합 니 다.THEME(새 템 플 릿 테 마 는 기본적으로 비어 있 습 니 다.템 플 릿 테마 기능 을 사용 하지 않 음 을 표시 합 니 다)설정 항목 은 다 중 템 플 릿 테마 전환 을 편리 하 게 할 수 있 습 니 다.
그러나 모 바 일 엔 드 와 PC 엔 드 에 있어 서 전혀 다른 주제 스타일 을 디자인 하고 서로 다른 경로 에 대해 서로 다른 렌 더 링 방식 을 제공 할 수 있 습 니 다.그 중에서 유행 하 는 방법 은'응답 식 디자인'이지 만 본인 의 경험 에 있어 완전한'응답 식 설정'을 실현 하 는 것 이 쉽 지 않 고 호환성 문 제 를 해결 하 는 것 도 어 려 운 문제 입 니 다.대형 사이트 라 고 가정 하면예 를 들 어 타 오 바 오,바 이 두,이런 것들 을 찍 으 면 응답 식 디자인 은 수 요 를 만족 시 키 지 못 하고 핸드폰 방문 사용자 에 게 단독 핸드폰 사 이 트 를 제공 해 야 한다.
ThinkpHP 는 충분히 실현 할 수 있 을 뿐만 아니 라 상당히 간단 하 다.TPM 의 스마트 모델 전환 엔진 과 마찬가지 로 진로 판단 처리 만 하면 된다.
1.ismobile()을(프로젝트/common/common.php 곶 에 추가

function ismobile() {
 //    HTTP_X_WAP_PROFILE        
 if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
 return true;
 
 //    TPM        ,  TPM  
 if(isset ($_SERVER['HTTP_CLIENT']) &&'PhoneClient'==$_SERVER['HTTP_CLIENT'])
 return true;
 //  via    wap        ,           
 if (isset ($_SERVER['HTTP_VIA']))
 //    flase,   true
 return stristr($_SERVER['HTTP_VIA'], 'wap') ? true : false;
 //            ,       
 if (isset ($_SERVER['HTTP_USER_AGENT'])) {
 $clientkeywords = array(
  'nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile'
 );
 // HTTP_USER_AGENT            
 if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
  return true;
 }
 }
 //   ,        ,      
 if (isset ($_SERVER['HTTP_ACCEPT'])) {
 //      wml     html        
 //     wml html  wml html        
 if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {
  return true;
 }
 }
 return false;
 }
2.(프로젝트/Lib/곶 에 CommonAction.php 를 만 듭 니 다.프로젝트 가 공공 컨트롤 러 가 있 으 면 만 들 필요 가 없고 직접 추가 하면 됩 니 다.

Class CommonAction extends Action{
 Public function _initialize(){
 //      ,     
 if (ismobile()) {
  //          Mobile
  C('DEFAULT_THEME','Mobile');
 }
 //............      .......
 }
 }
상기 두 가지 방식 을 통 해 모 바 일 방문 을 실현 할 수 있 습 니 다.하 나 는 원생 이 고 하 나 는 가짜 원생 입 니 다.젊은이 들 은 자신의 프로젝트 수요 에 따라 선택 하 세 요.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기