この同じクラスの他のメソッド内のクロージャー内からクラスのプライベート静的メソッドを呼び出そうとしていますが、それを行う正しい方法が見つかりません...プライベートメソッドを参照する使用を使用しても...プライベート変数を参照して渡すことはできますが、プライベート メソッドを参照する方法はありません... $refMethod = array('App','_onEvent'); call_user_func($refMethod) を使用すると、メソッドがプライベートであることがスローされます... PHP 5.4バージョン(WAMP 32ビット)でもReflectionClassを試しましたが、インスタンスにgetClosureメソッドが存在しないと言われています:(
class App(){
static public function start(){
new Form('myform', array('submit'=>function($form) use($someVar){
if($anyCondition){
// want to call private self::_onEvent here : any suggestion ?
}
}));
}
static private function _onEvent(){
// this is my very private part
}
}
クロージャーにはスコープがないことはよく知っていますが、そうです...このようなことを達成するためにプライベートコンテキストを渡す方法はありますか(クロージャーはクラス内にあるため)?ライトをありがとう!
編集:私はまさにこの答えをしたいのですが、これは素晴らしいことを投げるだけです
アクティブなクラス スコープがない場合、self:: にアクセスできません