Question

Pour déboguer Je voudrais vider certaines variables sur ma page web. Comment puis-je faire à l'intérieur d'une balise cfscript?

J'ai essayé ce qui suit, mais il ne fonctionne pas:

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

Les indices sur ce qui peut être fait?

Était-ce utile?

La solution

Vous ne pouvez pas le faire directement comme dans les versions avant CF 9. Vous pouvez toutefois utiliser les () UDF trouvé à CFLib. Il y a là une bibliothèque de UDFs qui imitent les étiquettes des FC qui ne sont pas équivalents CFSCRIPT directs.

ColdFusion 9 (et plus) offre la fonction writeDump().

Adobe Documentation LINKFOR WriteDump () fonction

Autres conseils

utiliser writeDump () comme la façon dont vous utilisez writeOutput ()

voir writeDump sur CF 9 référence

est-il pas ce qui suit beaucoup plus facile et simple?

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

Il fonctionne sur CF7 et avant, peut-être même plus tôt.

Il serait assez facile d'écrire votre propre aussi. Vous définissez simplement une fonction dans cfml plutôt que cfscript. Vous pouvez l'utiliser pour faire cfaborts et cfloops ainsi.

Quelque chose comme ça (Spontanément ma tête ... pas exécutée).

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

Noms de tag maintenant clair autorisé dans ColdFusion à partir de cfscript 11

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

Pour décharge, nous utilisons Writedump (myvar); au lieu de cfscript et même que nous utilisons abort; au lieu de sortir de l'exécution du programme à l'utilisation de instance.we writeoutput (); au lieu de

 <cfoutput>#myvar#</cfoutput>

ci-dessous est le code de vidage et interrompra dans cfscript.

writedump(myvar); for dump

abort; for stop execution of programm 

writeoutput(myvar); for output within cfscript
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top