静的メソッドを呼び出すための preProcessor として __callStatic を使用したいと考えています。私の考えは、メソッドを非公開にして、すべての静的呼び出しが __callStatic に転送されるようにすることです。次に、これを使用して何かを行い、メソッドを呼び出すことができます。しかし、それは不可能のようです。次に例を示します。
class A {
public static function __callStatic($name, $params) {
var_dump($name);
// TODO call the private function from class B here
//call_user_func_array('self::' . $name, $params); //infinite loop
}
}
class B extends A {
private static function test($bar) {
echo $bar;
}
}
B::test('foo');
おそらく誰かが解決策を持っています:-)