我正在努力将应用程序迁移到框架应用程序(特别是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
那么简单,但基本上就是我想做的事情。任何帮助将不胜感激。
夫妻警告:
答案 0 :(得分:1)
在不知道需要重用Application.cfc的哪些位的情况下,很难回答这个问题。
但是你不能在CF中有多重继承。我想你知道这一点。
你可以想象在你的子应用程序中创建一个新的CFC,它扩展了主应用程序中的一个,然后用你的应用程序的Application.cfc创建一个实例。然后,您可以根据需要调用其公共方法并访问其THIS范围。
然后您的子应用程序可以按正常情况扩展Fusebox。
或者,可能,反过来做,这取决于哪个更有意义。
除此之外,您可以将主应用程序中需要的位重构为其他构造(包括文件,不同的CFC等),然后从主应用程序和子应用程序中调用该代码,并再次从子应用程序扩展Fusebox。显然这意味着使用主应用程序进行修改,再次进行回归测试等等。