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

Patricia Arquette
풀어 주다: 2024-10-19 07:33:30
원래의
382명이 탐색했습니다.

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

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!