질문:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!