Extensión Si se deseara crear versiones especializadas de las clases que vienen incorporadas (por ejemplo, para crear HTML en color cuando se exportan, parar tener variables de acceso rápido en lugar de usar métodos, o parar crear métodos auxiliares), deberá extender la clase. Extendiendo las clases incorporadas visibility = Reflection::getModifierNames($this->getModifiers()); } } /** * Clase demo #1 * */ class T { protected function x() {} } /** * Clase demo #2 * */ class U extends T { function x() {} } // Mostrar información var_dump(new My_Reflection_Method('U', 'x')); ?> ]]> &example.outputs.similar; array(1) { [0]=> string(6) "public" } ["name"]=> string(1) "x" ["class"]=> string(1) "U" } ]]> Si se sobrescribe el constructor, no hay que olvidar llamar en primer lugar al constructor de la clase padre. Si esto fallara, se lanzará el siguiente error: Fatal error: Internal error: Failed to retrieve the reflection object