Thinkphp 프레임 워 크 개발 모 바 일 인터페이스(2)
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');
}
//............ .......
}
}
상기 두 가지 방식 을 통 해 모 바 일 방문 을 실현 할 수 있 습 니 다.하 나 는 원생 이 고 하 나 는 가짜 원생 입 니 다.젊은이 들 은 자신의 프로젝트 수요 에 따라 선택 하 세 요.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Thinkphp의 S 캐시 사용법!텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.