可能重複:
How to do a cfdump inside a cfscript tag?cfscript中的dump函數在哪裏?
我是新來的ColdFusion和想知道是否有人知道的方式來訪問時,一個腳本塊內的功能。我無法找到從那裏調用它的方式。
爲什麼Adobe刪除它?或者他們現在只是把它叫做別的東西?
對不起 - 我知道這可能是很基本的問題,但就像我說我是新的。
可能重複:
How to do a cfdump inside a cfscript tag?cfscript中的dump函數在哪裏?
我是新來的ColdFusion和想知道是否有人知道的方式來訪問時,一個腳本塊內的功能。我無法找到從那裏調用它的方式。
爲什麼Adobe刪除它?或者他們現在只是把它叫做別的東西?
對不起 - 我知道這可能是很基本的問題,但就像我說我是新的。
writeDump()
顯然ColdFusion的9已加入writeDump(),所以你應該能夠使用這個從CFSCRIPT塊。
所以,如果你有CF9,那麼你很好。
如果您使用不支持新引入的writeDump()函數的舊版本舊系統,那麼您可以爲它編寫一個包裝器,並將其放置在您的所有文件都可訪問的位置。
這是我寫的包裝器,它可以用於短期調試,可以放在你正在使用的cfc文件上(儘管在提交代碼之前將其刪除 - 否則它只是一團糟),或者你可以把它在全球的某個地方,所以你可以從共享範圍調用它。
這裏是一個包裝函數的例子,你可以使用:
<cffunction name="dump" access="private" returntype="void" hint="dump wrapper">
<cfargument name="stuffToDump" type="any" required="true" hint="what you want to dump">
<cfargument name="abort" type="any" default="false" hint="abort after dump">
<cfargument name="expand" type="any" default="false" hint="expand output">
<cfdump var="#arguments.stuffToDump#" expand="#arguments.expand#">
<cfif #arguments.abort# EQ 1>
<cfabort>
</cfif>
</cffunction>
有可能解決這個問題更好的方法,但是這是我目前使用。
您可以將其暫時放在您目前正在使用的cfc文件上,但顯然不要將其提交到您的代碼庫,因爲您不想在所有文件上使用轉儲功能。
或者你可以把它永久地放到一個cfinclude文件中,並且只是將它包含在你正在調試的文件中。
另一種方法我猜是把它放到Application.cfc中。該文件有許多標準方法,但您也可以定義自己的附加方法以包含在其中。然後在APPLICATION範圍內有你的dump()函數。
這裏有一個關於Application.cfc文件的好信息頁面。 http://www.bennadel.com/blog/726-ColdFusion-Application-cfc-Tutorial-And-Application-cfc-Reference.htm
我甚至已經看到它在服務器範圍中使用,但是這不應該在生產代碼上完成。好的調試我想是最後的手段,只要確保你記得刪除它。
就我個人而言,我認爲這兩個選項可能都不太理想,而且Adobe花了很長時間才提供替代該函數的腳本,這真是太遺憾了。本來會節省很多的痛苦。
但我們希望,如果你正在使用CF9那麼這一切都將是文不對題給你,你可以只使用新writedump()函數現在他們終於加入進去。
對於cfoutput和cflog,writeOutput()和writeLog()函數使用了相同的模式。
應該指出,writeDump()是在ColdFusion 9中引入的。在此之前,您必須創建一個UDF才能從CFSCRIPT運行它。 –
\ *聳肩\ *問題是顯式標記CF9所以這裏不是一個真正的問題。無論如何它只是'
是一個小更清晰,提供了一個例子:
<cfscript>
SomeString = 'ABC';
writeDump(SomeString);
</cfscript>
彼得的答案是100%正確的。
噢。謝謝,我會試一試。 –
ColdFusion確實有腳本版本的'cfdump'。它是[writed(()](http://help.adobe.com/zh_CN/ColdFusion/9.0/CFMLRef/WS5A998FA0-0173-4be8-9548-680E8F40A5F2.html) –
哦,是嗎?抱歉。就像我說的我剛接觸Coldfusion。這在CF文檔中沒有提到。謝謝。 –