2013-08-21 56 views
0

我正在將PHP插件轉換爲ColdFusion。在PHP中,使用OO概念,因此使用類和對象。如何在不使用Java的情況下在ColdFusion中創建類和對象?

如何將這些類轉換爲ColdFusion類併爲這些類創建對象。

另外我創建了Java類並使用<cfobject>標記,我創建了對象,但我需要ColdFusion類和創建的對象。

如果您有任何想法,請讓我知道。

回答

6

ColdFusion確實有類和對象,並遵循有限的OOPS原則。你可以做繼承,接口。多態函數仍然是不允許的。

ColdFusion中的類稱爲組件。 CFC - > ColdFusion組件。根據ColdFusion版本,您可以在腳本模式或標記模式下編寫它們。

有關創建組件及其對象的CF8,可以參考the documentation

您提到的createObject()方法是創建不同類型對象的一種方法。其他方式是使用<cfinvoke>或<cfobject>

希望這會有所幫助。只需詳細閱讀文檔,他們會每次幫助你。

1

實際上,您應該能夠通過比現有更徹底地閱讀文檔來解決此問題。然而,這個問題很容易回答。首先讓我打消你的東西,但:

沒有選擇不使用 的Java,COM和CORBA

這只是你不讀正確創建ColdFusion的類。即使在您鏈接到的頁面(cfobject,它指向一個過時的ColdFusion btw版本),它提供的「組件對象」的第三個鏈接討論實例化本地CFML「類」(CFML術語中的「組件」,出於某種原因) 。從頂層瀏覽來看,「組件」可能不是一個「類」,但如果你正在學習某些東西,那麼你應該做的不僅僅是頂級瀏覽。

你正在從一個非常奇怪的角度接近你的學習:閱讀如何實例化一個對象不是你應該採取的方向,如果你想找出如何定義類該對象將是一個實例。它有點暗示你在OO知識方面存在差距(這可能會使你的工作成爲一個挑戰)。

無論如何,當然CFML允許在語言中本地定義類及其用法。自從6.0版本以來,它已經能夠這樣做了(儘管這在10年前因爲一些糟糕的實現決定而不是真正的生產準備,直到6.1)。

您可以通過閱讀以「Building and Using ColdFusion Components」開頭的文檔找到更廣泛問題的答案。但基本的形式是:

// Foo.cfc 
component { 
    public Foo function init(/* args here */){ 
     // code here 
    } 
    // etc 
} 

而這樣的事情。

相關問題