0

我正在将 PHP 插件转换为 ColdFusion。在 PHP 中,使用了 OO 概念,因此使用了类和对象。

我如何将这些类转换为 ColdFusion 类并为这些类创建对象。

我也创建了 Java 类并使用<cfobject>标签,我创建了对象,但我需要 ColdFusion 类和创建的对象。

如果您有任何想法,请告诉我。

4

2 回答 2

6

ColdFusion 确实有类和对象,并遵循有限的 OOPS 原则。你可以做继承,接口。仍然不允许使用多态函数。

ColdFusion 中的类称为组件。CFC -> ColdFusion 组件。根据 ColdFusion 版本,您可以在脚本模式或标记模式下编写它们。

您可以参考CF8 关于创建组件及其对象的文档。

您提到的createObject()方法是创建不同类型对象的一种方法。其他方法是使用 <cfinvoke> 或 <cfobject>

希望这可以帮助。只需详细阅读文档,它们每次都会为您提供帮助。

于 2013-08-21T07:15:06.353 回答
1

实际上,您应该能够通过比您已经拥有的更彻底地阅读文档来解决这个问题。然而,这个问题很容易回答。首先让我解除你的一些问题:

如果不使用 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
}

还有那种东西。

于 2013-08-21T15:01:35.193 回答