Mailinglisten-Archive |
Martin Spuetz schrieb: > Hallo Sebastian, > > Sebastian Mendel wrote: >> wenn ich eine Methode statisch aus einem Objekt heraus aufrufe ist $this >> gesetzt ... wie soll ich denn jetzt überprüfen ob die Methode statisch >> oder im Objekt aufgerufen wurde? > > dein Beispiel funktioniert doch: > > [mas at mas tmp]$ php -f test.php > Objekt > Klasse Also wenn ich die Datei oopTest.php mittels http://localhost/ooptest.php aufrufen erhalte ich 'Klasse Klasse'. [foo at bar webdocroot]$ cat > oopTest.php << "EOF" <?php class Klasse { function methode() { Klasse::stMethode(); } function stMethode() { $i = debug_backtrace(); if ( $i[0]['type'] == '->' ) { echo 'Objekt' . "\n"; } else { echo 'Klasse' . "\n"; } } } $objekt = new Klasse(); $objekt->Methode(); Klasse::stMethode(); ?> EOF Gruß Andreas -- wdv Medien & Kommunikation GmbH & Co. OHG Mediendatenverarbeitung Andreas Heigl Siemensstrasse 6 61352 Bad Homburg Germany Telefon +49-(0)6172-670-185 Telefax +49-(0)6172-670-181 www.wdv.de
php::bar PHP Wiki - Listenarchive