public function callProtected($obj, $name, array $args = []) { $class = new \ReflectionClass($obj); $method = $class->getMethod($name); $method->setAccessible(true); return $method->invokeArgs($obj, $args); }