首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在lucee或railo上的cfml文件中包含cfml中的接口函数

在lucee或railo上的cfml文件中包含cfml中的接口函数
EN

Stack Overflow用户
提问于 2017-06-26 22:34:44
回答 1查看 220关注 0票数 5

我正在尝试添加一个接口到一个cfml文件中包含一些函数的cfml,但是它抛出了一个错误消息“Component...Does not implement the function .. of the interface”它抱怨的函数是在包含的cfml文件中实现的,我已经在railo 4和lucee 5中测试了这一点,并在两者中都得到了相同的错误,但它在coldfusion 11中工作。有人知道在lucee或railo中有解决方法或修复吗?

下面是重现错误的示例代码。

int.cfc

代码语言:javascript
复制
interface {
    public numeric function func() output="false";
}

comp.cfc

代码语言:javascript
复制
component implements="int" {
    include "inc.cfm";
}

inc.cfm

代码语言:javascript
复制
<cfscript>
public numeric function func() output="false"{
    return 2;
}
</cfscript>

index.cfm

代码语言:javascript
复制
<cfscript>
    cfc = createObject("component", "comp");
    writedump(cfc.func());
</cfscript>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-28 22:12:25

我发现的一种可能的解决方法是用一个空的cfml替换掉原来的cfml文件,这个空的cfc实现了接口,但也扩展了原来重命名的cfml,通过替换原来的cfml,你可以在添加接口的同时保持相同的类型。因此,带有问题的示例的更新部分将如下所示

comp-to-extend.cfc

代码语言:javascript
复制
component implements="int" {
    include "inc.cfm";
}

comp.cfc

代码语言:javascript
复制
component extends="comp-to-extend" implements="int" {}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44762174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档