thinkphp 控制器中 display()方法实现的原理,该如何处理
Jun 13, 2016 am 10:06 AM
action
module
private
return
var
thinkphp 控制器中 display()方法实现的原理
thinkphp 控制器中 display()方法实现的原理是什么
display()方法中可以不填写参数 根据调用的方法名称来自动查找模板文件
请问这是怎么实现的 他是怎么获取调用的方法名称的
请大家共同探讨下 最好能写个能实现这样的功能的代码 或 关键方法和思路
------解决方案--------------------
你搜索一下,读读他的源码不就知道了
- PHP code
define('MODULE_NAME',self::getModule(C('VAR_MODULE'))); define('ACTION_NAME',self::getAction(C('VAR_ACTION')));/** +---------------------- * 获得实际的模块名称 +---------------------- * @access private +---------------------- * @return string +---------------------- */ static private function getModule($var) { $module = (!empty($_GET[$var])? $_GET[$var]:C('DEFAULT_MODULE')); if(C('URL_CASE_INSENSITIVE')) { // URL地址不区分大小写 define('P_MODULE_NAME',strtolower($module)); // 智能识别方式 index.php/user_type/index/ 识别到 UserTypeAction 模块 $module = ucfirst(parse_name(P_MODULE_NAME,1)); } unset($_GET[$var]); return $module; } /** +---------------------- * 获得实际的操作名称 +---------------------- * @access private +---------------------- * @return string +---------------------- */ static private function getAction($var) { $action = !empty($_POST[$var]) ? $_POST[$var] : (!empty($_GET[$var])?$_GET[$var]:C('DEFAULT_ACTION')); unset($_POST[$var],$_GET[$var]); return C('URL_CASE_INSENSITIVE')?strtolower($action):$action; }<div class="clear"> </div>
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7134
9


자바 튜토리얼
1534
14


라라벨 튜토리얼
1257
25


PHP 튜토리얼
1205
29


Cakephp 튜토리얼
1154
46



DJI Osmo Action 5 Pro: 소매업체가 GoPro Hero 13 Black을 약화시킬 수 있는 출시 가격을 공개함에 따라 출시 날짜가 불투명해졌습니다.

Java에서 return 및 finally 문의 실행 순서는 무엇입니까?

ModuleNotFoundError: Python 모듈을 찾을 수 없음 오류를 해결하는 방법은 무엇입니까?

Windows 11에서 오디오 서비스가 응답하지 않는 문제를 해결하는 18가지 방법
