我正在将PHP插件转换为ColdFusion。在PHP中,使用了OO概念,因此使用了类和对象。
如何将这些类转换为ColdFusion类并为这些类创建对象。
此外,我创建了Java类并使用<cfobject>
标记,我创建了对象,但我需要ColdFusion类并创建对象。
如果您有任何想法,请与我们联系。
答案 0 :(得分:6)
ColdFusion确实有类和对象,并遵循有限的OOPS原则。你可以做继承,接口。仍然不允许使用多态函数。
ColdFusion中的类称为组件。 CFC - &gt; ColdFusion组件。根据ColdFusion版本,您可以在脚本模式或标记模式下编写它们。
关于创建组件及其对象,您可以参考the documentation了解CF8。
您提到的createObject()
方法是创建不同类型对象的一种方法。其他方法是使用&lt; cfinvoke&gt;或&lt; cfobject&gt;
希望这会有所帮助。只需详细阅读文档,他们每次都会帮助您。
答案 1 :(得分:1)
实际上,您应该能够通过比现有技术更彻底地阅读文档来解决这个问题。但是这个问题很容易回答。首先让我解除你的一些事情:
没有选项可以在coldfusion中创建类而不使用 java,com和corba
这只是你没有正确阅读。即使在你链接到的页面上(cfobject,它指向一个过时版本的ColdFusion btw),它提供的第三个链接“组件对象”讨论了实例化本机CFML“类”(CFML用语中的“组件”,由于某些原因)。从顶级浏览中可能并不清楚“组件”是“类”,但如果你正在学习某些东西,那么你应该做的不仅仅是顶级浏览。
您正在从一个非常奇怪的角度接近您的学习:如果您想了解如何定义对象将成为其实例的类,那么阅读如何实例化对象并不是您应该采取的方向。它有点暗示你对OO知识的差距(这可能会使你的工作成为你的挑战)。
无论如何,当然CFML允许在本地语言中定义类及其用法。并且自从v6.0开始就已经能够这样做了(尽管在十多年前,由于一些糟糕的实施决策,这种情况在6.1之前还没有真正准备就绪)。
通过阅读以“Building and Using ColdFusion Components”开头的文档,可以找到更广泛问题的答案。但基本形式是:
// Foo.cfc
component {
public Foo function init(/* args here */){
// code here
}
// etc
}
就是这样。