Estoy construyendo un marco de prueba de unidades para PHP y tenía curiosidad si hay una manera de obtener una lista de métodos de objetos que excluye métodos de la clase. Así que dado esto:Listar todos los métodos de una clase dada, excluyendo los métodos de la clase padre en PHP
class Foo
{
public function doSomethingFooey()
{
echo 'HELLO THERE!';
}
}
class Bar extends Foo
{
public function goToTheBar()
{
// DRINK!
}
}
Quiero una función que, teniendo en cuenta el parámetro de retorno new Bar()
:
array('goToTheBar');
SIN necesidad de crear una instancia de Foo. (Esto significa que get_class_methods
no funcionará).
En respuesta a sus comentarios, no le pedí que creara una instancia nueva de Foo, le pedí que utilizara una cadena STATIC para acceder a la clase STATICALLY. Aprenda Scopes Genius ... –
Como su respuesta no está disponible, no puedo verificar esto, pero creo que su afirmación era similar a "si crea una instancia de Bar que instanciará automáticamente a Foo". El problema no es mi conocimiento del alcance, el problema es que su publicación hace referencia tanto a algo en un nivel estático como a la instancia. – cwallenpoole
Mi solución fue '$ class_methods = get_class_methods (" Bar ");' ... que no instancia nada. –