2012-03-04 4 views
2

작업 컨텍스트에서 이미 실행 된 함수 목록을 가져 오려고합니다. 그리고 그것이 필요한 곳입니다.PHP 함수가 이름을 동적으로 알 수 있습니까?

이 작업을 수행 할 수있는 방법이 있습니까? this example

function funcX() 
{ 
    echo this.nameOrSomethingHere; //outputs funcX 
} 

는 자바 스크립트에서이 기능을 달성 할 수 있으며, 보여줍니다.

다음과 같이 다른 방법으로 원래의 필요를 돌볼 대안 솔루션을 항상 찾을 수 있습니다.

function funcX() 
{ 
    $this_function_name = "funcX"; 
    Add_this_to_the_already_executed_functions_list($this_function_name);  
} 

그리고 여기는 Add_this_to_the_already_executed_functions_list 기능 작업은 실행 된 모든 기능의보기를 얻을 수 있습니다 종료 프로세스의 마지막에 있도록 전달 된 문자열을 가지고 세계적으로 정의 된 배열에 추가하는 것입니다 마지막 페이지.

위의 방법이 효과적 일 수 있지만 동적 인 것은 아니기 때문에 분명히 우아하지 않습니다.

function funcX() 
{ 
    Add_this_to_the_already_executed_functions_list(this.????);  
} 

같은 것을 할 수있을 좋았을 것이다 질문 PHP에서이 작업을 수행 할 수있는 방법이 있다면 무엇입니까?

+0

흥미 왜 당신이 내가 요청할 수 있습니다 일을하려고하는보기? XDebug + KCacheGrind를 살펴 보는 것이 좋습니다. –

답변

10

__FUNCTION__을 사용하면 현재 함수의 이름을 가져올 수 있습니다.

관련 문제