| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer | Scopes durchreichen kannst du nicht, wenn du in einem Function-Scope einen Object-Scope erwartest lief wohl was gedanklich falsch.
__________________ |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() | private und static beißt sich ... static heißt, die Funktion arbeitet ohne aktives Objekt und damit MUSS sie sichtbar sein - private wiederum macht nur Sinn, wenn Objekte erstellt werden
__________________ "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() | Z.B. als Helfer-Funktion für eine als public static deklarierte Methode wäre private static doch denkbar? Aber du hast wahrscheinlich Recht, dass es in den meisten Fällen passendere Lösungen gibt und "private static" nach Designfehler riecht. |
| | |
| | ||
| Erfahrener Benutzer | Zitat:
Nein, private ( oder protected ) macht dann sinn wenn du vererbst ( oder nicht ) und du verhindern willst das Kind-Klassen properties modifizieren. Kann man so denke ich nicht übers Knie brechen, da man sich nicht sichtbarkeiten von Methoden ansehen sollte wenn man über das Design diskutiert und bewertet sondern die gesamte Klasse.
__________________ | |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() | Deshalb habe ich es sehr vorsichtig ausgedrückt. Aber nimm das Beispiel vom TE: da soll eine private Klassenmethode aus einer anonymen Funktion heraus aufgerufen werden. Mindestens eins von beiden ist da fehl am Platz. Und da frage ich mich auch, was die Motivation hinter private static war. "speziellen Code bündeln" sagt alles und nichts. |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() | vermutlich hast du recht Tr0y - da ich den wirklichen Design-Fehler in den anonymen Funktionen sehe - die hab ich in über 25 Jahren programmieren NIE gebraucht (und davon 18 Jahre mit OOP)
__________________ "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse: Anfänger ![]() | Ja, mit dem Konzept überdenken liegt man fast immer richtig. Aber Spaß beiseite. Es müssen auch nicht anonyme Funktionen sein. Im konkreten Fall brauche ich Callbackfunktionen für preg_replace_callback, die ich in verschiedenen Methoden benötige. Ich habe diese erstmal als private declariert, funktioniert auch. Da sind aber solche Konstrukte dabei, die mir aber nicht gefallen (Ist mir zuwieder, solche Krümel als Methode zu deklarieren): PHP-Code: Das klappt sogar, wenn ich uniSearch als public deklariere. Das möchte ich aber auch nicht, da nur Methoden von "außen" aufrufbar sein sollen, die auch Sinn machen. Meine Hoffnung war, daß es da noch ein Trick gibt self in den Function-Scope zu schmuggeln. |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() | Würdest du so etwas schöner finden? PHP-Code: |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] Unittests mit private Methoden | coola | PHP Einsteiger | 8 | 31.01.2011 15:02 |
| [Erledigt] statische klassen immer sinnvoll ? | Codercrush | PHP-Fortgeschrittene | 14 | 17.09.2010 16:44 |
| [Erledigt] Vererbung - Zugriff auf Elternmethoden nicht möglich | unimow | PHP Tipps 2008 | 5 | 03.11.2008 18:53 |
| public, protected, private Funktionen | ecomeback | PHP Tipps 2007 | 10 | 21.08.2007 02:21 |
| Klassen und externe Funktionen ? | ssm | PHP-Fortgeschrittene | 17 | 18.07.2007 11:59 |
| Zugriff auf statische methoden oder konstanten | nightfreak | PHP-Fortgeschrittene | 6 | 14.11.2005 16:56 |
| Code Syntax Highlighting | imported_Lumio | PHP-Fortgeschrittene | 9 | 16.08.2005 11:06 |
| klassen und methoden anderer klassen in methoden.... | PHP Tipps 2005 | 17 | 25.05.2005 09:46 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| was bringt private static, php zugriff auf static, globale anonyme variante nicht static |