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