Aiun Geschrieben 15. Dezember 2006 Geschrieben 15. Dezember 2006 hi, gibt es eine funktion die mir das Objekt oder die Klasse zurückgibt die eine Methode aufruft bzw. ein Objekt erzeugt ? ich will/kann nicht jedesmal $this als parameter mit übergeben. Sinn ist im wesentlichen eine Sicherheitsabfrage, nur eine bestimmte Klasse darf ein Objekt einer bestimmten anderen erzeugen.
kills Geschrieben 15. Dezember 2006 Geschrieben 15. Dezember 2006 Hi, dann verschieb doch deine Methode in die Klasse, die diese aufrufen darf? Gruß, Markus
FMG Geschrieben 15. Dezember 2006 Geschrieben 15. Dezember 2006 Die Funktion get_parent_class() ist dein Freund.
Aiun Geschrieben 18. Dezember 2006 Autor Geschrieben 18. Dezember 2006 @kills das geht nicht, man könnte sagen 1:n. Sagen wir z.B. ich habe eine Klasse "Template", diese darf nur von Kindklassen der Klasse "XY" aufgerufen werden, andernfalls soll eine Exception geschmissen werden. Oder ich habe eine Methode der Klasse A, die speziell als Schnittstelle zur Klasse B dient und daher auch nur von B aufgerufen werden darf. @FMG geht leider auch nicht, ich will keine vererbung, sondern einen aufruf zurückverfolgen.
bmg4ever2 Geschrieben 18. Dezember 2006 Geschrieben 18. Dezember 2006 versuche mal: debug_backtrace() PHP.net-Link PHP: debug_backtrace - Manual Beispielcode: <?php class test1 { function execTest2() { echo "test1"; $mytest2 = new test2(); $mytest2->trace(); } } class test2 { function trace() { echo "test"; var_dump(debug_backtrace()); } } $mytest1 = new test1(); $mytest1->execTest2(); ?> [/PHP] Warnung: Ich warne vor möglichen Performanceeinbußen bei komplexen Projekten.
Aiun Geschrieben 18. Dezember 2006 Autor Geschrieben 18. Dezember 2006 na ok, wenn da mit relevanten Performanceeinbußen zu rechnen ist, dann lohnt sich das nicht. Das Projekt um das es derzeit geht, ist doch im im Unfang und in der tiefe der Objektaufrufe doch zu groß. Trotzdem danke
kills Geschrieben 18. Dezember 2006 Geschrieben 18. Dezember 2006 Wie du selbst sagst, $this Operator übergeben (mit Referenz), bzw nur den Klassenamen
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden