La siguiente funcion soluciona el problema que tienen las funciones nativas de PHP para brindar informacion sobre metodos de Objetos o Clases.

La misma permite conocer si un metodo existe y a la vez, si es un metodo privado o publico.

Los valores que devuelve son:
0 Si el metodo no existe
1 Si el metodo existe pero es privado
2 Si el metodo existe y es publico

El codigo es el siguiente y espero que les sirva

/**
 * @name Get Method Scope
 * @param mixed $class ClassName u Object
 * @param string $method
 * @return integer
 * 
 * @author Cristián Pérez
 * 
 * $class puede ser un objeto tambien
 * La funcion devuelve
 * 0: Si el metodo o la clase (u objeto) no existen
 * 1: Si el metodo existe pero es privado
 * 2: Si el metodo existe y es publico!
 * 
 **/
function method_scope ($class, $method)
{
	$all = (array)get_class_methods ($class);
	if (! in_array ($method, $all))
	{
		if (method_exists ($class, $method))
			return 1; //Private
 
		return 0; //It doesn't exists
	}
 
	return 2; //Public
}

Ejemplo de Implementacion:

$scope = method_scope ($objeto, "miMetodo");
 
if ($scope == 2)
{
    echo 'El metodo es Publico';
}

Saludos