我们即将从ColdFusion 10转向2016年的ColdFusion,并注意到我们在现有的代码库中遇到了一些错误,我们感到困惑。
我们有几个组件,其中包含预期返回特定类型的方法。在2016年之前的ColdFusion版本中,我们将指定包含该类型的组件的完整路径,以使其工作。
例如,这在ColdFusion 2016中不工作:
public root.model.beans.MyObject function CreateMyObject()
{
// blah blah...
}
在ColdFusion 2016下运行相同的代码会产生错误"The value returned from the CreateMyObject function is not of type root.model.beans.MyObject"
(它是)。
确实在ColdFusion 2016中工作:
public MyObject function CreateMyObject()
{
// blah blah...
}
在ColdFusion 10中反之亦然 - 第一个例子有效,第二个例子没有。
我的问题是这是为什么?是否有一些控制此行为的设置?我担心在尝试引用具有相同名称但路径不同的组件时会出现什么结果。如何区分/ root / model / beans /中找到的名为Service.cfc的组件和/ root / widget / api /中的组件?
我想我们可以将所有受影响的退货类型更改为"任何",但我们为什么要这样做?
我确定我遗漏了一些非常简单的东西,并希望能帮助确定它是什么。感谢。