![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.480
|
Hi Leute, kleines Problemchen Aaaaaalso. Ich möchte einer Methode ein paar Informationen übergeben. Als kleines Beispiel mal hier dieser Code. PHP-Code: Es ist nichts Notwendiges, wäre aber ein - meiner Ansicht nach - nettes Feature. Irgendwie haben mich variable Variablen nicht wirklich weitergebracht (heißt aber nichts *g*). Ich könnte alle gesetzten Variablen mit get_defined_vars() auslesen, dann die Array-Schlüssel extrahieren ... und .. äh, dann wüsste ich immer noch nicht nach welchem Schlüssel ich suchen müsste. Wenn es denn überhaupt möglich ist, danke ich für die Antwort. Grüße Ben. |
| | |
| | Nach oben #2 |
| me pro ok? Registriert seit: 07.09.2005 Ort: Pulheim bei Köln
Beiträge: 964
|
Mit get_defined_vars() könnte man es machen. PHP-Code:
__________________ Gedanken aus Draht stricken einen Zaun. |
| | |
| | Nach oben #3 |
| Benjamin Steininger Registriert seit: 02.06.2005 Ort: weiher im tiefsten Odenwald
Beiträge: 1.180
|
hab eben nochmal gesucht, es gab mal nen thread dazu auf php.de und soweit ich weis haben sich da viele bemüht, aber im endeffekt musste festgestellt werden, dass es keine Lösung dafür gibt. get_defined_vars() wirst du nie ne sichere übereinstimmung finden, sobald du 2 variablen mit selbem inhalt hast, bzw kann unter umständen ja schon reichen ne refrenz auf auf eine andere zu haben. mfg robo47 |
| | |
| | Nach oben #5 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.480
|
Wie gesagt, wäre nur ein Feature gewesen. Es geht dabei um eine Exception, welche geworfen wird, wenn ein nicht korrekter Datentyp im Spiel ist. Ich möchte dann in der Ausgabe der Exception angeben, welcher Datentyp gefordert ist, welcher Datentyp vorhanden ist und wie die Variable heißt, damit man schnell suchen kann Die ersten beiden Sachen sind easy, die dritte nicht so wirklich wichtig, weil ich sowieso auch die Methoden getFile() und getLine() der Klasse Exception nutze. Ich kann es also verschmerzen, wenn man das nicht hinbekommt Grüße Ben. |
| | |
| | Nach oben #6 | |
| me pro ok? Registriert seit: 07.09.2005 Ort: Pulheim bei Köln
Beiträge: 964
| Zitat:
__________________ Gedanken aus Draht stricken einen Zaun. | |
| | |
| | Nach oben #7 |
| Lutz Registriert seit: 14.08.2005 Ort: Nienburg / Weser
Beiträge: 684
|
Ein Denkansatz wäre vielleicht die Funktion mit $file und $line auszustatten: PHP-Code: PHP-Code: Schon hat man seinen Variablennamen.
__________________ Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll |
| | |
| | Nach oben #8 |
| me pro ok? Registriert seit: 07.09.2005 Ort: Pulheim bei Köln
Beiträge: 964
| PHP-Code: Aber das eigentliche Problem: Man kann den Variablennamen doch nicht eindeutig identifizieren. Mal sind mehrere Variablen in einer Zeile, mal ist ein Riesenkommentar dazwischen. // Edit: Hab's gerafft, sorry :> // Edit²: Nach einer doch deutlich Überlänge-Aufpreis verdächtigen Anlaufzeit hab ichs jetzt wirklich gerafft. Klingt ziemlich gut.
__________________ Gedanken aus Draht stricken einen Zaun. Geändert von Lars (17.10.2005 um 22:17 Uhr). |
| | |
| | Nach oben #11 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.480
|
Ich würde aber niemals die existenten Methoden getFile() und getLine() durch __LINE__ und __FILE__ ersetzen .. wozu auch. Das ist dann doch alles viel zu umständlich. Dann wäre es doch definitiv einfacher und weniger Schreibaufwand die Exception so zu werfen. PHP-Code: |
| | |
| | Nach oben #12 |
| Lutz Registriert seit: 14.08.2005 Ort: Nienburg / Weser
Beiträge: 684
|
Also mit meiner Methode? Denn mit debug_backtrace () erhälst du meines Wissens nach Zeile und Datei des Funktionsaufrufs von debug_backtrace, aber nicht von der Funktion!? oder irre ich mich da?
__________________ Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll |
| | |
| | Nach oben #15 | |
| me pro ok? Registriert seit: 07.09.2005 Ort: Pulheim bei Köln
Beiträge: 964
|
debug_backtrace gibt auf jeden Fall Skript (mit absolutem Pfad) und Zeile zurück. Optional sind aufgerufene Funktion, Name der Klasse, der benutzte Klassenoperator :- Zitat:
__________________ Gedanken aus Draht stricken einen Zaun. Geändert von Lars (18.10.2005 um 16:46 Uhr). | |
| | |
| | Nach oben #18 | ||
| me pro ok? Registriert seit: 07.09.2005 Ort: Pulheim bei Köln
Beiträge: 964
| Zitat:
// Edit: Werd versuchen, öfter dran zu denken, sorry.
__________________ Gedanken aus Draht stricken einen Zaun. Geändert von Lars (18.10.2005 um 16:56 Uhr). | ||
| | |
| | Nach oben #20 | |
| Lutz Registriert seit: 14.08.2005 Ort: Nienburg / Weser
Beiträge: 684
| Zitat:
b) stht da nicht genau, was mit "aktuelle Zeilennummer" bzw. "aktueller Datei" gemeint ist. Ist es Datei und Zeile zum Zeitpunkt des Funktionsaufrufs? Ist es die zum Zeitpunkt des Funktionsaufrufs, in der debug_backtrace genutzt wird? Das meinte ich damit. Das habe ich im übriegn immernoch nicht getestet.
__________________ Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll | |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Namensgebung der Variablen | WarrenFaith | Allgemeine Java-Programmierung | 9 | 14.07.2007 05:21 |
| PHP Variablen | Michael | PHP-Programmierung | 1 | 23.09.2006 00:12 |
| Rechnen mit Variablen | Bookworm | PHP-Programmierung | 28 | 24.11.2005 16:49 |
| Variablen Namen ausgeben | Gottzilla | Allgemeine Java-Programmierung | 10 | 15.02.2005 19:17 |