2015-05-18 43 views
1

我正在創建一個包含Application.cfc(我無法修改)的總體應用程序內的子應用程序。 FW/1需要一個Application.cfc才能工作。我將如何去爲FW/1申請一個Application.cfc,同時確保整個Application.cfc運行?將FW/1與預先存在的Application.cfc一起使用

+0

你不能把FW/1應用程序放在它自己的目錄下嗎? –

+0

我可以把它放在它的目錄下,但我需要繼承根Application.cfc的所有項目以及擴展framework.one組件。 – user3899606

+0

我不確定那是多麼可行。 CF不會支持多重繼承,而不會瞎搞。是否有可能'framework.cfc'擴展根'Application.cfc'? –

回答

0

Application.cfc可以被視爲類似於其他ColdFusion組件。因此,您可以從根應用程序擴展組件,這樣可以從根cfc繼承所有方法。只要確保在你實現的任何方法中,首先用super關鍵字調用父方法。

根據服務器的安裝方式,您可能不得不擺弄正確的路徑或可能需要創建CFC映射。

因此,在您的Application.cfc中,並假設其他應用程序在您的文件夾層次結構中位於一層。

<cfcomponent extends="../Application"> 
    <cffunction name="onRequestStart" returnType="boolean" output="true"> 
     <cfset var tmp = super.onRequestStart()> 
     <cfreturn tmp> 
    </cffunction> 
</cfcomponent> 
+0

這不行。要創建FW/1應用程序,Application.cfc必須擴展框架。子應用程序無法擴展父應用程序和框架。 – Twillen

+0

,但是如果你有對FW/1應用程序的控制權,那麼你可以改變框架應用程序以便從父級擴展。雖然我不太瞭解您必須使用的限制條件,但如果這是您的選擇。 探索的另一個途徑是像任何其他cfc一樣實例化父應用程序。只需在你自己的Application.cfc中調用所需的方法如果你認爲這對你有用,我會用一個例子來修改我的答案。 –

相關問題