은 내가 여기 말 :클래스 인스턴스 메서드를 변수에 어떻게 할당합니까?
class Foo
{
public function test()
{
// I'm here!
}
private function pow() {}
}
내가 방법 $this->pow
를 참조하는 지역 변수를 선언합니다. 나는 시도 :
$pow = $this->pow;
이 작동하지 않습니다
Notice: Undefined property: Foo::$pow
이 어떻게 PHP에서 클래스 인스턴스 방법을 참조 할 수 있습니까?
익명 함수 test
에 함수를 전달해야하므로이 함수가 필요합니다. 익명 함수에 $this
을 전달할 수 없습니다. PHP 5.3을 사용하고 PHP 5.4에서만 가능하기 때문입니다. 또한 pow
함수는 public이 아니므로 $this
을 매개 변수에 할당하고 익명 함수에 전달할 수 없습니다. 그것은 당신의 예에서와 같이 pow
가 public
경우
[call_user_func] (http://php.net/manual/en/function.call-user-func.php) –
최소한 pow() 함수에서 숫자 또는 문자열을 반환해야합니다. :) – Jimbo
pow 코드에서 얻을 수있는 속성이 아니며 클래스 메서드입니다 –