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