为了调试我想将某些变量转储到我的网页上.我怎么能从cfscript标签内做到这一点?
我尝试了以下但它不起作用:
<cfscript>
...
<cfif cgi.REMOTE_ADDR eq "IP">
<cfdump var="#var1#"><br/>
</cfif>
...
</cfscript>
Run Code Online (Sandbox Code Playgroud)
关于可以做什么的任何线索?
我的任务是经历一些最近遭受过相当讨厌的SQL注入攻击的ColdFusion站点.基本上我的工作涉及向<cfqueryparam所有内联sql 添加>标签.在大多数情况下,我已经把它弄下来了,但有人能告诉我如何使用cfqueryparam与LIKE运算符?
如果我的查询如下所示:
select * from Foo where name like '%Bob%'
Run Code Online (Sandbox Code Playgroud)
我的<cfqueryparam>标签应该是什么样的?
这是教授新人ColdFusion的最大障碍之一.
何时使用#最多是模棱两可的.由于使用它们通常不会产生问题,似乎大多数人都倾向于使用它们太多.
那么,基本规则是什么?
这里有没有人有过在生产中运行OpenBD或Railo的经验?我们有一些传统的CF6.1应用程序需要托管在某处,我想知道OpenBD或Railo是否足够稳定以供生产使用,不需要大量的工作就可以迁移到等等.
与所有开发一样,通过ColdFusion,Railo或OpenBD的 CFML 我们遇到了常见的编程问题.对于这些问题,程序员必须转向模式(或反模式).然而,像GOF和现代头版第一本书这样的经典资源都倾向于关注Java.
虽然java本身很漂亮,但是所有三个cfml引擎本质上都是java应用程序,它们表示在编写cfml时,并不是所有甚至许多设计模式都可以或者应该以java方式使用.
我想知道在使用cfml时你发现哪些资源/模式有用?或者您更改了适应java或smalltalk模式以在cfml中使用的内容?
就个人而言,我发现这两个演示文稿都很有趣:
CFMeetup:设计模式和ColdFusion作者:Sean Corfield
和
更新:
偶然发现cfdesignpatterns.com,看起来很有希望.
有没有人有一个很好的方法来设置多个CFML引擎及其版本,在适当的环境中一起交叉测试基于CFML的应用程序.
理想情况下,我希望这是基于Ubuntu Server,因为我正在使用VirtualBox(在Windows 7下).另外,如果可以在它之间切换它会很有用,所以我的笔记本电脑可以同时处理一个而不是一次全部运行.我在想以下几点:
我也希望从同一个共享目录中获取它们,因此我不必拥有每个引擎的代码副本.干杯
我正在使用OpenBD并尝试检查我的S3服务器上是否存在存储桶,如果它不存在则创建新存储桶.这是我的代码:
index.cfm
<cfset request.awsaccess = "zzzzawsaccesszzzz">
<cfset request.awskey = "zzzzzzzzawskeyzzzzzzzz">
<cfset request.datasource="tcs">
<cfset request.region="us-west-2">
<cfscript>
AmazonRegisterdatasource(datasource=request.datasource,awsaccess=request.awsaccess,awskey=request.awskey,region=request.region );
result = AmazonS3listbuckets( datasource=request.datasource );
WriteDump(result);
WriteOutput(result.bucket[1]);
</cfscript>
Run Code Online (Sandbox Code Playgroud)
对于上面的代码,我得到这个输出:
现在我再添加一个函数AmazonS3createbucket(),
<cfscript>
result = AmazonS3createbucket( datasource=request.datasource, bucket="anyBucket" );
</cfscript>
Run Code Online (Sandbox Code Playgroud)
对于上面的脚本我得到错误:那No such function exists - amazons3createbucket..这是截图:
我指的是OpenBD手册来过滤这些功能.使用此功能时也遇到同样的问题:
<cfscript>
result = AmazonS3bucketexists( datasource=request.datasource, bucket="anyBucket" );
</cfscript>
Run Code Online (Sandbox Code Playgroud) 文档对此并不完全清楚 - 这些变量之间是否存在差异?在IIS上,至少它们看起来是相同的,但如果它在其他服务器下可能不同,我不想依赖它.
如果我有
<cfset arr_arguments = ["a","b","c"]>
<cfunction name="someFunction">
<cfargument name="someArgumentOne">
<cfargument name="someArgumentTwo">
<cfargument name="someArgumentThree">
</cffunction>
Run Code Online (Sandbox Code Playgroud)
有什么方法可以调用someFunction参数arr_arguments,类似于someFunction("a","b","c")? 我当然知道我可以argumentCollection用来将(键控)结构传递给函数,但我特别要求传入(无键)数组。在 JS 中,这可以很容易地完成someFunction.apply(this,arr_arguments),但在 Coldfusion 中,我找不到任何方法来做到这一点。
好吧,我有模板文件,我知道它们需要在<cfoutput>标签之间,但是在一个<cfoutput>标签周围放置一个标签<cfinclude>将无法正常工作,并且任何具有不起作用的标签文件都<cfmodule>不允许我操作variables范围.
那么,任何想法 - 无论多么复杂 - 哪些都可以让我包含这样一个模板文件并让它像<cfoutput>标签之间那样表现?
上下文:这是我正在研究的"框架"并要求每个模板文件以<cfoutput>标签开始和结束似乎是一种真正的浪费,特别是因为模板文件看起来越少'冷混合',IMO越好.