| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Bewertung: |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | ||
| Erfahrener Benutzer | Zitat:
* $this weiß, von welcher Klasse es abgeleitet wurde. In einer gewöhnlichen Objekt-Methode reicht daher get_class($this). * Singletons sind echte Objekte und wissen daher auch, zu welcher Klasse sie gehören. * ("Statische") Klassenmethoden können (in PHP < 5.3.0) nur die Klasse "sehen", in der sie definiert wurden. Die einzige Möglichkeit hier an die "aufgerufene" Klasse zu kommen, ist, die gesamte Aufruf-Kette nachzubauen. Jede Methode, die über den get_called_class()-Ersatz erreichbar sein soll, muss in der Tochterklasse existieren und den Aufruf an die Elternklasse weiterreichen. Das sieht nicht besonders schön aus: PHP-Code: == Das, was ich anfangs hier schrub, ist natürlich Unsinn und funktioniert in PHP so nicht, weil self und __CLASS__ immer auf die Klasse zeigen, in der sie deklariert wurden. Der Ordnung halber bleibt das aber stehen, sonst versteht keiner mehr den Rest der Diskussion: * Für ("statische") Klassenmethoden kann man der Klasse bei der Deklaration eine Variable oder Konstante mitgeben, die den Namen der Klasse enthält. Das ist zwar auch äußerst unschön (und unter Umständen schlecht zu warten, weil dieser Wert dann mit jeder Änderung des Klassennamens mitgeändert werden muss), aber allemal effizienter, als die Datei (auch noch mit file()) einzulesen, in der die Klasse deklariert wurde und dann deren Quelltext zu "parsen".
__________________ Wir schreiben schließlich Code und malen keine ASCII-Bilder. Geändert von fireweasel (28.06.2011 um 21:51 Uhr). | |
| | |
| | ||
| Erfahrener Benutzer | Das bringt nichts. Ich meinte das eher so: PHP-Code: Zitat:
-- [0] Was auch immer die PHP-Developer unter diesem Begriff verstehen.
__________________ Wir schreiben schließlich Code und malen keine ASCII-Bilder. | |
| | |
| | ||
| Erfahrener Benutzer Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() | Zitat:
Edit: Ohne get_called_class oder static::class_name sieht es also so aus: PHP-Code: | |
| | |
| | |
| Erfahrener Benutzer |
__________________ Wir schreiben schließlich Code und malen keine ASCII-Bilder. |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Navicat openSource Alternative | dreamcatcher | Off-Topic Diskussionen | 1 | 28.05.2011 11:14 |
| SEARCH deutsche Alternative für PorterStemmer algorithmus? | phpstudent | Datenbanken | 14 | 08.03.2010 22:34 |
| Alternative zu file_get_contents() | Hannibal | PHP Tipps 2009 | 5 | 19.09.2009 14:20 |
| Alternative zu LongTail Player... | halskrause | Off-Topic Diskussionen | 2 | 16.07.2009 13:39 |
| $_GET alternative fuer URL paramenter | chris2009 | PHP-Fortgeschrittene | 5 | 23.11.2008 18:12 |
| Alternative zu mail() | heohni | PHP Tipps 2006 | 15 | 23.02.2006 14:34 |
| Alternative zur IP Sperre | PHP Tipps 2007 | 4 | 02.12.2005 13:19 | |
| Alternative zu fopen hilfe | zapate | PHP Tipps 2005-2 | 5 | 30.10.2005 23:38 |
| Alternative zu Include | PHP Tipps 2005-2 | 11 | 13.10.2005 14:13 | |
| Alternative IF-Syntax | Chr!s | PHP Tipps 2005-2 | 5 | 16.09.2005 18:10 |
| Tracker - Alternative falls der User JS deaktiviert hat? | Chr!s | PHP Tipps 2005-2 | 6 | 27.07.2005 19:51 |
| Alternative zu simplexml | Buhmann | Beitragsarchiv | 6 | 17.05.2005 16:10 |
| [Erledigt] Alternative zu Frameset | HTML, Usability und Barrierefreiheit | 16 | 13.05.2005 20:18 | |
| Gibt es eine Alternative für phpkit ? | PHP Tipps 2005 | 1 | 08.03.2005 16:52 | |
| Alternative Validator Icons | El Barto | HTML, Usability und Barrierefreiheit | 6 | 14.01.2005 19:09 |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| get_called_class, get_called_class php 5.2, php get_called_class, get_called_class alternative, get_called_class(), php 5.2 get_called_class, get_called_class php, get_called_class static, get_called_class funktion, get_called_class alternative php 5.2, php 5.2 get_called_class replacement, get_called_class in php 5.2, singleton get_called_class php, fireweasel singleton late static binding, get_called_class für php 5.2, get_called_class workaround, get_called_class 5.0, php get_called_class_52, php 5.2 working around static |