Frage

Um zu debuggen ich bestimmte Variablen auf meiner Web-Seite werfen möchten. Wie kann ich tun, dass aus dem Inneren eines cfscript Tag?

Ich habe versucht, die folgenden, aber es funktioniert nicht:

<cfscript>
  ...
  <cfif cgi.REMOTE_ADDR eq "IP">
    <cfdump var="#var1#"><br/>
  </cfif>
  ...
</cfscript>

Irgendwelche Hinweise auf das, was getan werden kann?

War es hilfreich?

Lösung

Sie können es nicht direkt tun wie in Versionen vor CF 9. Sie können jedoch verwenden die Dump () UDF bei CFLib gefunden. Es gibt eine ganze Bibliothek von UDF gibt, die Mimik CF-Tags, die nicht direkt cfscript Äquivalente verfügen.

Coldfusion 9 (und oben) bietet die writeDump() Funktion.

Adobe Dokumentation Linkfor WriteDump () Funktion

Andere Tipps

verwenden writeDump () wie, wie Sie verwenden Writeoutput ()

finden Sie unter writeDump auf CF 9 Referenz

Ist das nicht die folgenden viel einfacher und unkompliziert?

oAdmin = createObject("component", "cfide.adminapi.base");
oAdmin.dump(myVar);

Es funktioniert auf CF7 und nach vorn, vielleicht sogar früher.

Es wäre ziemlich einfach, Ihre eigene zu schreiben. Sie definieren nur eine Funktion in cfml statt cfscript. Sie können diese verwenden cfaborts und cfloops auch zu tun.

So etwas wie diese (Aus der Spitze von meinem Kopf ... nicht ausgeführt).

<CFFUNCTION NAME="MyDump">
    <CFARGUMENT NAME="OBJ" Required="TRUE">
    <CFDUMP VAR="#Obj#">
</CFFUNCTION>
<CFSCRIPT>
  if(cgi.REMOTE_ADDR eq "IP"){
    MyDump(Var1);
  }
</CFSCRIPT>

Jetzt Klar Tag-Name erlaubt innerhalb cfscript beginnend Coldfusion 11

<cfscript>
    cfdump (var=#myVar#);
</cfscript>
<cffunction name="setAbort" access="private" returntype="void" output="false">
 <cfdump var="#arguments#"/><cfabort>
</cffunction>

Für Dump verwenden wir Writedump (myvar); statt in cfscript und gleichen wir verwenden abbrechen; anstelle der für den Austritt der Ausführung des Programms jeder instance.we Verwendung Writeoutput (); anstelle von

 <cfoutput>#myvar#</cfoutput>

unten ist der Code für Dump und bricht in cfscript.

writedump(myvar); for dump

abort; for stop execution of programm 

writeoutput(myvar); for output within cfscript
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top