이 기사의 예에서는 PHP가 리플렉션 메커니즘을 사용하여 클래스와 메소드의 위치를 찾는 방법을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
//参数1是类名,参数2是方法名 $func = new ReflectionMethod('UnifiedOrder_pub', 'getPrepayId'); //从第几行开始 $start = $func->getStartLine() - 1; //从第几行结束 $end = $func->getEndLine() - 1; //获取路径地址 $filename = $func->getFileName();
다음은 샘플 코드를 좀 더 포괄적으로 발췌한 것입니다
<?php function a() { } class b { public function f() { } } function function_dump($funcname) { try { if(is_array($funcname)) { $func = new ReflectionMethod($funcname[0], $funcname[1]); $funcname = $funcname[1]; } else { //这个应该是当只有一个参数的时候就看做是本类的发放吧,大概,自行百度 $func = new ReflectionFunction($funcname); } } catch (ReflectionException $e) { echo $e->getMessage(); return; } $start = $func->getStartLine() - 1; $end = $func->getEndLine() - 1; $filename = $func->getFileName(); echo "function $funcname defined by $filename($start - $end)\n"; } function_dump('a'); function_dump(array('b', 'f')); $b = new b(); function_dump(array($b, 'f')); ?>
더 많은 PHP 관련 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제를 확인할 수 있습니다. "PHP Ajax 기술 및 애플리케이션 요약", "PHP 작업 및 연산자 사용 요약 ", "PHP 네트워크 프로그래밍 기술 요약", "PHP 기본 구문 튜토리얼 소개", "PHP 오피스 문서 기술 요약(워드, 엑셀 포함) , access, ppt)", "php 날짜 및 시간 사용 요약", "php 객체 지향 프로그래밍 입문 튜토리얼", "php 문자열(문자열) 사용법 요약" , "php mysql 데이터베이스 작업 입문 튜토리얼" 및 "php 일반 데이터베이스 작업 기술 요약"
이 기사가 PHP 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.