PHP5.3에서 객체 컨텍스트 내에서 클로저를 실행하는 방법이 있습니까?
class Test {
public $name='John';
function greet(){
eval('echo "Hello, ".$this->name;');
call_user_func(function(){
echo "Goodbye, ".$this->name;
});
}
}
$c = new Test;
$c->greet();
eval()은 정상적으로 작동하지만 call_user_func는 $ this에 액세스 할 수 없습니다. (객체 컨텍스트가 아닌 경우 $ this 사용). 지금 당장 "$ this"를 인수로 전달 하겠지만, 필요한 것은 아닙니다.
불행히도 call_user_func (배열 ($이 함수() {...})); 작동하지 않을 것이다. 이것은 이상적인 구문 일 것이다. – romaninsh