سؤال

من أجل تصحيح أود أن تفريغ بعض المتغيرات على بلدي صفحة الويب.كيف يمكن أن أفعل ذلك من داخل cfscript علامة ؟

حاولت التالية ولكنها ليست العامل:

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

أي أدلة على ما يمكن القيام به ؟

هل كانت مفيدة؟

المحلول

لا يمكنك أن تفعل ذلك مباشرة مثل التي في الإصدارات قبل CF 9.ومع ذلك ، يمكنك استخدام تفريغ() UDF وجدت في CFLib.هناك مكتبة كاملة من UDFs هناك التي تحاكي CF فئة أن لا يكون مباشرة CFSCRIPT حكمه.

كولد فيوجن 9 (وما فوق) تقدم writeDump() وظيفة.

أدوبي الوثائق Linkfor WriteDump() وظيفة

نصائح أخرى

واستخدام writeDump () مثل كيفية استخدام writeOutput ()

writeDump على CF 9 المرجعية

وأليس ما يلي أسهل بكثير واضحة؟

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

ويعمل على CF7 وإلى الأمام، وربما حتى في وقت سابق.

وسيكون من السهل أن تكتب بنفسك أيضا. كنت مجرد تعريف دالة في CFML بدلا من cfscript. يمكنك استخدام هذا للقيام cfaborts وcfloops كذلك.

وشيء من هذا القبيل (من على قمة رأسي ... لم ينفذ).

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

العلامة الآن سهل أسماء المسموح بها ضمن cfscript بدءا كولد فيوجن 11

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

لتفريغ نستخدم Writedump (myvar)؛ بدلا من cfscript ونفس نستخدم إحباط. بدلا من لخروج تنفيذ البرنامج في أي writeoutput استخدام instance.we ()؛ بدلا من

 <cfoutput>#myvar#</cfoutput>

وأدناه هو رمز للتفريغ وإجهاض في cfscript.

writedump(myvar); for dump

abort; for stop execution of programm 

writeoutput(myvar); for output within cfscript
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top