mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 15:12 Benutzername: Passwort: Auto-Login

Thema: [PHP] var_export() ähnl. Funktion - Suchen undefinierter Var vom 29.12.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] var_export() ähnl. Funktion - Suchen undefinierter Var
Autor Nachricht
Account gelöscht
Threadersteller


Ort: -
Alter: -
Verfasst Mo 29.12.2008 13:56
Titel

[PHP] var_export() ähnl. Funktion - Suchen undefinierter Var

Antworten mit Zitat Zum Seitenanfang

Hi!
Ich sitze gerade an ner kleinen Applikation
die ich von 1-dimensionalen auf n-dimensionale Variablen umstrukturiere.

Ich hab beim coden nicht nur die Variablen neu strukturiert,
sondern auch um einige neue Features erweitert
und hab in manchen Algorithmen so einige Variablen verwendet
die ich zuvor nicht definiert hatte.

Das ganze ist für mich jetzt im Moment nur recht schwer zu überblicken
und ich müsste erst alle Ergebnis-Variablen ausgeben
um dann die fehlenden Referenzen zu ermitteln.

Wollte nun fragen ob es eine ähnlich funktion wie var_export() gibt,
die jedoch nicht die bereits definierten Variablen und ihre bisdahin gegebenen Werte,
sondern die zwar verwendeten aber undefinierten Variablen ausgibt.

Alles andere wäre ganz schön zeitintensiv *Schnief*


Vielen Dank für eure Hilfe
Liebe Grüße

Fabian
 
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mo 29.12.2008 14:24
Titel

Re: [PHP] var_export() ähnl. Funktion - Suchen undefinierter

Antworten mit Zitat Zum Seitenanfang

Photoshopper hat geschrieben:

Wollte nun fragen ob es eine ähnlich funktion wie var_export() gibt,
die jedoch nicht die bereits definierten Variablen und ihre bisdahin gegebenen Werte,
sondern die zwar verwendeten aber undefinierten Variablen ausgibt.


mir würde spontan einfallen, das error_reporting auf mind. e_all hochzuschrauben. somit
kriegst du nicht-definierte aber verwendete variablen als warnings aufn bildschirm... reicht
das?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Account gelöscht
Threadersteller


Ort: -
Alter: -
Verfasst Mo 29.12.2008 15:26
Titel

Antworten mit Zitat Zum Seitenanfang

Hi und danke für die schnelle antwort.
Also mein akutes Problem löst es erstmal.
Jedoch gleich zu Anfang 1-2 Erkenntnisse die mir nette Nebeneffekte verwehren.

Ich hab jetzt den Ausdruck von
Code:
error_reporting(E_NOTICE);
in Browser ausgeben lassen.

Erster Eindruck: **** sind das Viele Var die nicht indiziert sind *zwinker*

An der stelle eine Frage:
Es Funktioniert alles - haben die nicht indizierten Variablen irgend einen Effekt auf mein Script?

Ich sehe jetzt z.B. folgendes:
Code:
Notice: Undefined index: vardhlnormalde in /Users/Fabian/Sites/www_main/kalkulator-eingabe-ai.php on line 1214


Problem hierbei ist jedoch das hinter der dort betitelten
und nicht indizierten Variable "vardhlnormalde" eigentlich
eine Variable die nicht nur "$vardhlnormalde",
sondern "$kalkulator['kosten']['versand']['vardhlnormalde']" heißt verbirgt.

In dem falle wäre mir recht wichtig zu wissen ob man entweder
die Bezeichnung der Variable im Error-Reporting besser auszeichnen könnte,
oder das Error-Reporting auf Variablenkreise und Dimensionen von vornherein einschränken könnte.

Tolle wäre das, weil ich dann sehr komfortabel via Quelltext Routinen daraus SQL-Phrasen ableiten könnte.

Vielen Danke und schöne Grüße

Fabian
 
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mo 29.12.2008 16:48
Titel

Antworten mit Zitat Zum Seitenanfang

mal abarbeiten *zwinker*

1. viele vars? *ha ha*

2. unterschied zwischen variable, index und oder constant
da in deinem beispiel 'index' steht, weißt du ja wo du suchen musst *zwinker* sonst stünde variable oder constant dort. in wie weit du die ausgabe der fehler verfeinern kannst, weiß ich nicht. Ooops

3. auswirkungen auf dein script.
nein. php braucht nicht zwingend eine definition von variablen. ein kleiner schöner satz aus dem gleich folgenden link vorweg:

Zitat:

Die Verwendung von undefinierten Variablen in PHP ist kein Fehler, sondern eher schlampige Programmierarbeit.


Grins

und hier der link. fands jetzt beim ersten querlesen mal brauchbar:
http://books.google.de/books?id=AHFNU8EUqmQC&pg=PA247&lpg=PA247&dq=undefinierte+variablen+php&source=web&ots=2u047H74WQ&sig=cI_UOXyETj8IHkkrnp3ypO8qvwc&hl=de&sa=X&oi=book_result&resnum=5&ct=result


Zuletzt bearbeitet von pixelpapst303 am Mo 29.12.2008 16:49, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Account gelöscht
Threadersteller


Ort: -
Alter: -
Verfasst Mo 29.12.2008 19:14
Titel

Antworten mit Zitat Zum Seitenanfang

Das tut weh Lächel
Nein klar ist es schlechter Stil, aber es ist kein Überraschung,
immerhin wollte ich diese Schlampigkeiten damit ausmerzen.

Also ich hab mir gerade aufmerksam mal das Buch angeschaut
und muss sagen das ich jetzt sehr genau weiß wie das Error-Reporting funktioniert
- hab aber nicht dir mir erhoffte Patent-Lösung gefunden.

Anscheinend kann ich nur über var_export() und dementsprechender Spezifikation
über die Variable meine SQL-Phrasen ableiten.

D.h. erstmal aufräumen Lächel
und werd jetzt erstmal Mal um Mal meine E_NOTICE Hinweise
weg machen und dann die Phasen über den Output von var_export()
ableiten.

Doof dabei ist nur das ich die werte bei der Ausgabe nicht unterdrücken kann, und muss somit bei der Verarbeitung noch viel per Hand raus löschen weil ich es per Suchen und Ersetzen nicht entfernt bekomme.

Grüße und vielen Dank!


Zuletzt bearbeitet von am Mo 29.12.2008 19:19, insgesamt 2-mal bearbeitet
 
Account gelöscht
Threadersteller


Ort: -
Alter: -
Verfasst Di 30.12.2008 09:41
Titel

Antworten mit Zitat Zum Seitenanfang

Hi noch mal,
ich bin jetzt gerade auf das Problem gestoßen,
dass via E_NOTICE übers error_reporting()
lediglich die unfefinierten Variablen gefunden werden,
die auch mit dem aktuellen Informationsstand angesprochen werden.

Zum Beispiel - Ich habe eine definierte Variablen:
Code:
$a = 1;


Verwende im folgenden aber noch 2 weitere undefinierte Variablen: "$b" und "$c",
das sieht dann so aus:
Code:
if (isset($a))
{
echo $b;
if ($a == 2)
{
echo $c;
}
}


In diesem Falle wird nur $b via E_NOTICE als eine undefinierte Var. erkannt. -
Die Bedingung wird also nicht weiter (tiefer) überprüft.

Gibts dafür irgend welche Parameter die ich einstellen kann?
Um wie mein Syntax-Check wirklich ALLES zu finden.

Danke noch mal
Liebe Grüße

Fabian
 
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Di 30.12.2008 10:13
Titel

Antworten mit Zitat Zum Seitenanfang

wusste ich gar nicht, dass es in die "tiefe" nicht funktioniert...

wie wäre es wenn du erst nach besten gewissen aufräumst und dir später zur laufzeit ein eigenes logfile mit set_error_handler() baust, was dir deine undefinierten variablen logt...

http://www.zdnet.de/anwendungsentwicklung_eigener_error_handler_mit_php_story-20000201-39147726-3.htm


Zuletzt bearbeitet von pixelpapst303 am Di 30.12.2008 10:13, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Freeware 3D-Programm, mit Export-Funktion für OBJ-Files
Dreamweaver "suchen & ersetzen" Funktion
Online-Chat Funktion - mit On und Offline Funktion
Fenster im Fenster ähnl. Mouseovereffekt?
CD mit autorun (?) Funktion
jQuery get Funktion im IE9
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.