>  기사  >  백엔드 개발  >  PHP 함수 소스 코드를 프로그래밍 방식으로 검색할 수 있나요?

PHP 함수 소스 코드를 프로그래밍 방식으로 검색할 수 있나요?

Patricia Arquette
Patricia Arquette원래의
2024-10-19 07:33:30383검색

Can PHP Function Source Code be Retrieved Programmatically?

프로그래밍 방식으로 PHP 함수 소스 코드 추출

질문:

PHP 소스 코드를 프로그래밍 방식으로 검색하는 것이 가능합니까? 함수에 이름이 있나요?

배경:

예를 들어 다음 코드를 살펴보세요.

<code class="php">function blah($a, $b) { return $a*$b; }
echo getFunctionCode("blah");</code>

그런 함수를 구현하는 것이 가능합니까? ?

답변:

예, 이는 PHP의 ReflectionFunction 클래스를 사용하여 달성할 수 있습니다. 다음은 그 방법을 보여주는 코드 조각입니다.

<code class="php">$func = new ReflectionFunction('myfunction');
$filename = $func->getFileName();
$start_line = $func->getStartLine() - 1; // subtract 1 to obtain the correct function block
$end_line = $func->getEndLine();
$length = $end_line - $start_line;

$source = file($filename);
$body = implode("", array_slice($source, $start_line, $length));
print_r($body);</code>

이 코드는 PHP 소스 파일을 구문 분석하고 함수 본문에 해당하는 줄을 추출하여 함수의 소스 코드를 검색합니다. ReflectionFunction 클래스는 함수의 파일 위치, 시작 및 끝 줄 번호를 결정하는 편리한 방법을 제공합니다.

위 내용은 PHP 함수 소스 코드를 프로그래밍 방식으로 검색할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.