2012-05-23 2 views
0

문자열로 표현되는 메서드를 호출 할 수 있습니까?문자열로 표현되는 함수를 호출 하시겠습니까?

예 :

$function = '$this->myfunction($myparam)'; 

어떻게하여 myParam로하여 myFunction 호출 할 수 있을까? 가능한?

감사합니다 :)

+0

그것이 가장 쉬운 방법으로 이들의 상세한 구현을 얻을 수 있기를 바랍니다 사용할 수 있습니다 'eval()'을 사용하면되지만, 문자열이 외부 소스에서 오는 경우 위험합니다. – alex

답변

1

당신은 PHP의 call_user_func(); 기능을 사용할 수 있습니다.

예.,

function callMe($message) 
{ 
echo "My Function was called with arg:".$message; 
} 

당신은

call_user_func("callMe","MyMessage"); 

과 같이 호출 할 수 있고이 함수가 반환하는 모든 값을 반환합니다. 여러 인수 또는 배열로 호출 할 경우

또한, 당신은

call_user_func_array()

당신이 www.php.net