URL: https://linuxfr.org/forums/programmation-php/posts/reflectionobject-dans-un-contexte-statique Title: ReflectionObject dans un contexte statique Authors: santos Date: 2008年08月11日T01:18:21+02:00 Tags: Score: 0 Bonjour, je voudrais utiliser le concept de réflexion, mais dans un contexte statique. Dans un contexte d'instance, c'est facile : class Generic { £spaces£ £/spaces£public function __construct() £spaces£ £/spaces£{ £spaces£ £/spaces£} £spaces£ £/spaces£ £spaces£ £/spaces£function getInstance() £spaces£ £/spaces£{ £spaces£ £/spaces£$instance = new ReflectionObject($this); £spaces£ £/spaces£echo "méthode appelée par une instance de : ".$instance->getName(); £spaces£ £/spaces£} } class Specific extends Generic { } function main() { £spaces£ £/spaces£$o = new Specific(); £spaces£ £/spaces£$o->getInstance(); } main(); Ce code va afficher : méthode appelée par une instance de Specific Jusque là pas de problème. Sauf que moi, je veux un `main()` de ce genre : function main() { £spaces£ £/spaces£Specific::getInstance(); } Et je veux que `getInstance` m'affiche la même chose. Autrement dit, lorsque j'appelle `getInstance()` de la manière `XXX::getInstance()`, je voudrais que`getInstance()` arrive à récupérer `XXX`. Bien entendu, tel quel ça ne marche pas, `$this` étant `null` dans `new ReflectionObject($this)` Warning: ReflectionObject::__construct() expects parameter 1 to be object, null given J'ai lu la doc, mais ça ne m'a pas éclairé... [http://fr.php.net/manual/fr/language.oop5.reflection.php](http://fr.php.net/manual/fr/language.oop5.reflection.php) Vos idées et conseils sont les bienvenus !

AltStyle によって変換されたページ (->オリジナル) /