扩展2 Application.cfc(Framework Application.cfc和subApplication.cfc)

时间:2013-07-01 18:25:50

标签: coldfusion fusebox

我正在努力将应用程序迁移到框架应用程序(特别是Fusebox 5.5)。我需要扩展两个Application.cfc [Fusebox5.Application]和另一个位于几个目录的文件夹中的Application.cfc。以下是目录结构:

--WebRoot 
    --Fusebox5 <---(This is where the corefiles for Fusebox is stored)
    --Folder1 <---(This is the Application.CFC file I want to extend)
        --sub-Folder1
            --sub-subOfFolder1
                --sub-sub-subOfFolder1
                    --Application Folder (This is where the application lives)

Application.cfc文件包含以下代码:

<cfcomponent extends="fusebox5.Application" output="false">

这并不像添加fusebox5.Application,Folder1.Application那么简单,但基本上就是我想做的事情。任何帮助将不胜感激。

夫妻警告:

  • 我不想对Application文件夹之外的任何现有代码产生任何影响。我读到了有关扩展ApplicationProxy.cfc的内容,并且可能愿意尝试这样做,但这将是对现有代码库进行任何修改的程度。
  • 我可以考虑一个替代框架,但是我正在迁移的很多现有代码库本身并不适合。我的主要目标只是组织代码。

1 个答案:

答案 0 :(得分:1)

在不知道需要重用Application.cfc的哪些位的情况下,很难回答这个问题。

但是你不能在CF中有多重继承。我想你知道这一点。

你可以想象在你的子应用程序中创建一个新的CFC,它扩展了主应用程序中的一个,然后用你的应用程序的Application.cfc创建一个实例。然后,您可以根据需要调用其公共方法并访问其THIS范围。

然后您的子应用程序可以按正常情况扩展Fusebox。

或者,可能,反过来做,这取决于哪个更有意义。

除此之外,您可以将主应用程序中需要的位重构为其他构造(包括文件,不同的CFC等),然后从主应用程序和子应用程序中调用该代码,并再次从子应用程序扩展Fusebox。显然这意味着使用主应用程序进行修改,再次进行回归测试等等。