클래스 메서드에서 함수를 만들 수 있습니까?클래스 메서드에 함수 할당
즉.
class Test {
public function __construct()
{
if (! function_exists('foo')) {
function foo()
{
return $this->foo();
}
}
}
private function foo()
{
return 'bar';
}
}
아니면 다른 방법으로 함수를 만들고 메서드 내에서 사용해야합니까?
'function_exists'는 클래스 메소드가 아닌 전역 함수를 검사합니다. 전역 함수는'$ this'에 접근 할 수 없습니다. 그곳에서 성취하려는 것은 무엇입니까? http://docs.php.net/manual/en/reflectionmethod.getclosure.php – Gordon
을 통해 클래스 메서드 밖에서 클로저를 만들 수 있습니다. 클래스 메서드의 복사본 인 전역 함수를 만들려고합니다. 자바 스크립트 토지에서 함수가 변수 일 뿐이며 쉽게 복사 할 수 있습니다. –