getMethod($methodName); if ($method->isStatic()) { return $method->invokeArgs(null, $methodArgs); } $inst = $class->newInstanceArgs($classArgs); return $method->invokeArgs($inst, $methodArgs); } public static function push(string $className, array $classArgs, string $methodName, array $methodArgs) { $inst = new self(); return $inst->put([ 'class' => $className, 'classArgs' => $classArgs, 'method' => $methodName, 'methodArgs' => $methodArgs, ]); } }