0

我正在将应用程序迁移到框架应用程序(特别是 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 的信息,并且可能愿意尝试一下,但这将是对现有代码库的任何修改的程度。
  • 我可以考虑一个替代框架,但是我正在迁移的许多现有代码库并不适合自己。我的主要目标只是组织代码。
4

1 回答 1

1

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

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

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

然后,您的子应用程序可以正常扩展 Fusebox 之一。

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

除此之外,您可以将主应用程序中所需的位重构为其他构造(并包含文件、不同的 CFC 或其他内容),然后从主应用程序和子应用程序中的每个调用该代码,然后再一次从子应用扩展 Fusebox。显然,这意味着与主应用程序一起玩,再次进行回归测试等。

于 2013-07-01T22:41:21.720 回答