相关疑难解决方法(0)

将application.cfc扩展到子目录中

我有以下两个文件,并希望第二个扩展第一个:

  1. wwwroot的\网站\的Application.cfc
  2. wwwroot的\网站\目录\的Application.cfc

但是,当我为第二个文件声明组件时,我不确定要在extends属性中放入什么. 我的问题是几个开发站点(有一个共享的SVN存储库)正在运行ColdFusion的同一个实例,所以我不能像这样在CF管理员中创建一个映射:

<cfcomponent extends="site.application">
Run Code Online (Sandbox Code Playgroud)

但是,ColdFusion不喜欢:

<cfcomponent extends="..application">
Run Code Online (Sandbox Code Playgroud)

或任何动态输入,如:

<cfcomponent extends="#expandpath('..').#application">
Run Code Online (Sandbox Code Playgroud)

创建运行时映射(如此处)似乎也不可行.在基础application.cfc中创建它是没用的,因为在声明继承cfc时该代码尚未执行; 并且我无法在定义继承组件之前创建映射,因为还没有应用程序将其附加到.

有什么方法可以引用父目录来完成我的扩展吗?

编辑以澄清:由于上面的粗体文本,ApplicationProxy解决方案不起作用.现在,作为一种解决方法,我们只是不将\ dir\application.cfc检查到SVN,以便每个开发人员都可以保留一个扩展他/她自己的根application.cfc的版本.显然,这并不理想.

coldfusion cfc application.cfc

13
推荐指数
2
解决办法
6351
查看次数

使用相对路径扩展CFC

我想在不同的目录中扩展一个CFC,我有几个选项,但无法弄清楚如何执行此操作:

A)使用动态映射(这必须是基于站点的动态,例如对于现场站点,它将是cfc.myPackage.MyCFC,但在开发站点上它将是myCfcRoot.myPackage.MyCFC) - 我试过将表达式放入extends位,但很明显CF不喜欢它,例如:

<cfcomponent name="MyComponent" extends="#config.cfcRoot#.BaseComponent">
Run Code Online (Sandbox Code Playgroud)

要么

<cfcomponent name="MyComponent" extends="#GetRealPath(../BaseComponent.cfc)#">
Run Code Online (Sandbox Code Playgroud)

B)提供CFC的相对路径(以某种方式)以进行扩展.

我担心我不能这样做,但我希望有一些我错过的东西.

coldfusion cfc

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

cfc ×2

coldfusion ×2

application.cfc ×1