
ReflectionFunctionAbstract::getFileName 메소드는 호출된 함수가 위치한 파일 이름을 반환합니다. 하지만 이 메소드는 호출된 함수가 위치한 파일 이름이 아닌, 호출된 함수가 정의된 파일 이름을 반환합니다.
예를 들어, 다음 코드가 있다고 가정해 보겠습니다.
#hostingforum.kr
php
// file1.php
function test() {
// ...
}
// file2.php
require_once 'file1.php';
function test() {
// ...
}
이 경우, ReflectionFunctionAbstract::getFileName 메소드를 사용하여 test 함수를 호출할 때, getFileName 메소드는 file1.php를 반환합니다. 하지만 실제로 test 함수가 위치한 파일 이름은 file2.php입니다.
이 문제를 해결하려면, 호출된 함수가 위치한 파일 이름을 직접 얻어내야 합니다. PHP 7.1 이상에서는 ReflectionFunction::getFileName 메소드를 사용하여 호출된 함수가 위치한 파일 이름을 얻을 수 있습니다.
#hostingforum.kr
php
$reflection = new ReflectionFunction('test');
$fileName = $reflection->getFileName();
이 코드를 사용하여 호출된 함수가 위치한 파일 이름을 얻을 수 있습니다.
2025-03-14 02:49