dev/core#128 Add deprecated warning helper function
[civicrm-core.git] / CRM / Core / Error.php
index c009a7ffa17e0c862b10e73806012e73db12d4a5..ab491e8b81a2fe6daa0c2481881c0ba789478543 100644 (file)
@@ -1030,6 +1030,19 @@ class CRM_Core_Error extends PEAR_ErrorStack {
     return FALSE;
   }
 
+  /**
+   * Output a deprecated function warning to log file.  Deprecated class:function is automatically generated from calling function.
+   *
+   * @param $newMethod
+   *   description of new method (eg. "buildOptions() method in the appropriate BAO object").
+   */
+  public static function deprecatedFunctionWarning($newMethod) {
+    $dbt = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2);
+    $callerFunction = isset($dbt[1]['function']) ? $dbt[1]['function'] : NULL;
+    $callerClass = isset($dbt[1]['class']) ? $dbt[1]['class'] : NULL;
+    Civi::log()->warning("Deprecated function $callerClass::$callerFunction, use $newMethod.", array('civi.tag' => 'deprecated'));
+  }
+
 }
 
 $e = new PEAR_ErrorStack('CRM');