【发布时间】:2018-01-30 16:24:15
【问题描述】:
我知道,通过在线阅读,当你打字时
function foo(required integer ObjectID)
CFML 引擎(对我来说是 Lucee)查找 integer.cfc,因为 CFC 不支持整数作为数据类型(奇怪)。
integer.cfc 应该是什么样子才能让 CF 将其视为有效数据类型。它是否必须在某个特定的位置,或者它可以在映射的文件夹之一中?
我进行了一些调查尝试,但并没有通过反复试验获得任何洞察力。
用例是,与大多数数据类型检查一样,我知道预期的数据类型,但它是防止客户端篡改的额外防线,而不必更详细地使用 param 或 if检查。
另外,如果有人这样做了,你能说一下性能差异吗?
我知道我可以按如下方式执行此操作,但这似乎应该是一个不必要的层。
function foo(required numeric myID)
param name="arguments.myID" type="integer";
..use the parameter in queries..
为清楚起见进行编辑:目前,以下通过,但理想情况下我想说required integer myID,因此它会失败。
<cfscript>
function TestNum(required numeric myID) {
return myID;
}
writeoutput(TestNum(8.3));
</cfscript>
【问题讨论】:
-
您必须将
integer.cfc放在您正在实施foo的文件旁边。请记住,您必须实现整数可以执行的每个函数。我不会走这条路的。只需在需要时投射到int()。
标签: coldfusion cfml cfc lucee