2009-12-18 11 views
0

En PHP 5, comment puis-je savoir de quelle classe est une instance d'objet? Je sais que je peux comparer avec l'opérateur "instanceof", mais je ne trouve pas comment procéder quand le nom de la classe est inconnu.Comment savoir de quelle classe est une instance d'objet? (php5)

Merci d'avance! :)

+1

Vous avez probablement un problème de conception si vous en avez besoin. La raison pour laquelle je dis cela, c'est parce que vous ne pouvez apparemment pas lier l'ensemble des réponses utiles. Par conséquent, il doit y avoir au moins sur l'objet dont vous ne connaissez pas le type à l'avance, mais avec lequel vous voulez faire quelque chose d'utile. Mais comment pouvez-vous faire quelque chose d'utile à un objet dont vous ne connaissez pas le type? – MSalters

+0

Peut-être que nous avons un problème de conception (notre base de code est assez ancienne), mais je ne voulais pas "faire" quelque chose "à" un objet. Dans notre classe ActiveTable, nous avons une méthode qui génère toujours une entrée de journal, mais je voulais omettre cette entrée de journal uniquement si l'objet hérité de la classe héritée de ActiveTable était d'un certain type :) – Danita

Répondre

0

Vous voulez dire, vous voulez trouver tous les objets qui sont d'une certaine classe?

La manière la plus simple que je peux penser est de passer en revue chaque variable retournée par get_defined_vars() et exécuter un instanceof sur chacun d'eux. Peut être extrêmement coûteux en vitesse et en mémoire, cependant.

Questions connexes