Merge branch 'MDL-62891-master-callable_name' of git://github.com/mudrd8mz/moodle
[moodle.git] / lib / moodlelib.php
index 65923f0..ef21b05 100644 (file)
@@ -10178,3 +10178,22 @@ class lang_string {
         return $this->component;
     }
 }
+
+/**
+ * Get human readable name describing the given callable.
+ *
+ * This performs syntax check only to see if the given param looks like a valid function, method or closure.
+ * It does not check if the callable actually exists.
+ *
+ * @param callable|string|array $callable
+ * @return string|bool Human readable name of callable, or false if not a valid callable.
+ */
+function get_callable_name($callable) {
+
+    if (!is_callable($callable, true, $name)) {
+        return false;
+
+    } else {
+        return $name;
+    }
+}