public static function overwriteFunction($name, $callback = null)
{
if ($name === false) {
static::$_functionResults = array();
return static::$_functionCallbacks = array();
}
if ($callback === false) {
static::$_functionResults[$name] = array();
return static::$_functionCallbacks[$name] = false;
}
static::$_functionCallbacks[$name] = $callback;
if (function_exists($name)) {
return;
}
$function = new ReflectionFunction($callback);
$pos = strrpos($name, '\\');
eval(self::_dynamicCode('mockFunction', 'function', array('namespace' => substr($name, 0, $pos), 'function' => substr($name, $pos + 1), 'args' => static::_methodParams($function), 'stringArgs' => static::_stringMethodParams($function))));
return;
}