
ReflectionFunctionAbstract::getFileName 메소드는 클래스 내의 메소드 파일 이름을 가져올 때, static 메소드에만 작동하는 것처럼 보입니다. 그러나 추상 클래스에서 이 메소드를 사용하려면, 메소드 이름을 클래스 이름과 구분할 수 있는 방법을 사용해야 합니다.
예를 들어, 추상 클래스에 static 메소드를 추가하고, 그 메소드에서 ReflectionFunctionAbstract::getFileName 메소드를 호출할 수 있습니다.
#hostingforum.kr
php
abstract class MyClass {
public static function getFileName() {
$reflection = new ReflectionFunction('self::myMethod');
return $reflection->getFileName();
}
abstract public function myMethod();
}
또는, 추상 클래스에 인스턴스 메소드를 추가하고, 그 메소드에서 ReflectionFunctionAbstract::getFileName 메소드를 호출할 수 있습니다.
#hostingforum.kr
php
abstract class MyClass {
public function getFileName() {
$reflection = new ReflectionFunction('get_class_methods($this)[0]');
return $reflection->getFileName();
}
abstract public function myMethod();
}
이러한 방법을 사용하면, 추상 클래스에서 ReflectionFunctionAbstract::getFileName 메소드를 사용할 수 있습니다.
2025-06-05 03:38