So it seems that inside a method of this class we have a case where when the __callStatic should be called, the __call is used instead for some reason.
<?php
class Test {
public function __call($name, $params){
echo "__call()";
}
public static function __callStatic($name, $params){
echo "__callStatic()";
}
public function wtf(){
Test::nonExistingStaticMethod();
}
}
$test = new Test();
$test->wtf(); // expected: __callStatic , actually: __call
this comes a bit unexpectedly and annoyingly, but there's probably an explanation?