ReflectionExtension
<<<
Extension des classes de réflexion Les classes et les objets (PHP 5)
>>>

5.10.18 Réflexion
5.10 Les classes et les objets (PHP 5)
5 Référence du langage
 Manuel PHP

Introduction
ReflectionFunction
ReflectionParameter
ReflectionClass
ReflectionMethod
ReflectionProperty
ReflectionExtension
->Extension des classes de réflexion

5.10.18.8 Extension des classes de réflexion

Dans le cas où vous voudriez créer des versions spéciales des classes embarquées (par exemple pour créer du HTML colorisé lorsqu'il est exporté, pour avoir un accès facile aux variables des membres au lieu des méthodes ou pour avoir des méthodes utiles), vous devez étendre la classe.

Extension des classes embarquées

<?php
/**
* Ma classe Reflection_Method
*
*/
class My_Reflection_Method extends ReflectionMethod
{
  
public $visibility= '';

  
public function __construct($o, $m)
  {
    
parent::__construct($o, $m);
    
$this->visibility= Reflection::getModifierNames($this->getModifiers());
  }
}

/**
* Démo classe #1
*
*/
class T {
  
protected function x() {}
}

/**
* Démo classe #2
*
*/
class U extends T {
  function
x() {}
}

// Affichage des informations
var_dump(new My_Reflection_Method('U', 'x'));
?>
Note

Attention : si vous écrasez le constructeur, n'oubliez pas d'appeler le constructeur parent avant d'insérer le moindre code. Sinon, votre code produira l'erreur suivante : Fatal error: Internal error: Failed to retrieve the reflection object

<< Extension des classes de réflexion >>
ReflectionExtension Réflexion Les classes et les objets (PHP 5)