Überprüfen, ob class-method existiert ohne eine objekt-instanz... möglich?

B

Bailor

Hallo Leute,

Weis jemand, ob es möglich ist zu überprüfen, ob eine bestimmte funktion in einer klasse definiert ist, ohne eine klasseninstanz zu erstellen?
php gibt einem ja die beiden funktionen method_exists() und is_callable(), laut dokumentation muss ich aber bei beiden erst ein objekt erstellen...

weis jemand ob z.B. is_callable(Array('className', 'methodName')) funktioniert und obs da Probleme geben könnte?

Gruß, Bailor
 
Eine weitere Möglichkeit wäre die Reflection API.
Deine oben genannten Funktionen akzeptieren m.W. nach aber auch einen Array aus zwei Strings, einen für den Klassennamen, einen für den Methodennamen. Das würde eine private, protected oder abstract Methode aber vermutlich als ausführbar bezeichnen.
 
danke für die antwort... private, protected und abstract interessieren mich (leider) weniger, da ich noch in php4 schreibe(n muss); ich glaub is_callable(Array('className', 'methodName')) wirds dann für mich tuen...

wollte nur mal fragen, ob es nicht noch alternative lösungen gibt... Danke für den Tipp mit der Reflection API... auch PHP5, aber anguggen werd ichs mir trotzdem mal :)
 
Zurück