login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[PHP]: Classnaam achterhalen van class (Opgelost)

Offline Laurent - 08/01/2009 18:43 (laatste wijziging 08/01/2009 18:45)
Avatar van LaurentLid Stel je voor, je bent een lekkere dikke class en je bent ontzettend populair, iedere class roept jou op, want jij bent de class der classes, met jouw fantastische functies weet je iedereen te verleiden. 
Enkel weet je graag wie je fans zijn die van jou gebruikmaken. Hoe kun je als class zijnde nu weten in welke class je opgeroepen bent?

Eventjes anders omschreven: class Foo vraagt naar class Bar, maar class Bar is kieskeurig en wil de naam van Foo weten die stout is geweest door zijn naam niet door te geven.
Ik vermoed dat ik het ergens in de reflection API van PHP moet zoeken, maar ik vind het niet, er moet toch een mogelijkheid zijn om te weten te komen in welke class class Bar is opgeroepen zonder een methode te gebruiken als:
  1. <?php
  2. class Foo
  3. {
  4. static function bar()
  5. {
  6. $bar = new Bar(__CLASS__);
  7. }
  8. }
  9. class Bar
  10. {
  11. function __construct($naam)
  12. {
  13. echo $naam . ' is ook al fan van Bar!';
  14. }
  15. }
  16. Foo::bar();//Foo is ook al fan van Bar!
  17. ?>


Greetz Laurent

3 antwoorden

Gesponsorde links
Offline nemesiskoen - 08/01/2009 19:11
Avatar van nemesiskoen Gouden medaille

PHP expert
Nope, je kan geen traceback doen via reflection naar de call. Je kan wel, zoals in je voorbeeld (maar dan beter uitwerken) de caller onthouden.

Offline Laurent - 08/01/2009 20:21
Avatar van Laurent Lid Bedankt!
Daarom dat ik dergerlijk iets niet vond.  
Offline Richard - 15/02/2009 02:21
Avatar van Richard Crew algemeen Dat kan toch prima met debug_backtrace() lijkt me.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.19s