使用CFC继承时,我的舞台应用的Coldfusion /扩展(Staging my Coldfusi

2019-10-29 19:46发布

我有我的根目录的子目录一个一个的Application.cfc:

/app/application.cfc

我最近又增加的Application.cfc中的一个子目录,并使用这里所描述的代理方法扩展了原有的Application.cfc http://corfield.org/blog/index.cfm/do/blog.entry/entry/Extending_Your_Root_Applicationcfc :

/app/mysubdir/application.cfc
/app/applicationproxy.cfc

该扩展的子目录CFC属性看起来是这样的:

<cfcomponent extends="app.applicationProxy">

这一切工作正常,到目前为止,但这里的更多背景:我已经通过将其放在一个目录旁边名为/ appstaging /应用分期我的应用程序。 这工作得很好,即没有冲突,因为我使用所有的相对路径,和我的更高级别的Application.cfc指出哪个目录它在,设置一个变量(例如application.appdir)和代码可以用它来构建相对路径如果它需要它。

这里是我的问题:现在我有新/app/mysubdir/application.cfc,我需要的路径,延伸到真正做到“appstaging.applicationProxy”如果这是临时目录树。 ColdFusion的坚持,虽然,这个数值的“扩展”是恒定的。 它不会让我找出我在哪里,放在适当的目录名称就像我一直在做其他任何地方。

有什么办法解决?

Answer 1:

如果你在CF8,使用新的this.mappings结构在你的Application.cfc。 它会看起来大致是这样的。 我把它留给你写的代码搞清楚你是否在/ app或/ appstaging是:

如果(inAppStaging)this.mappings [ “/应用”] = expandPath( “/ appstaging”); //或任何...只是得到一个完整路径appstaging目录

这样,当这个的Application.cfc在/应用程序运行时,它会工作只是因为它总是有。 当它在appstaging的运行,它会告诉ColdFusion的,对于这种应用,“应用程序”指向“appstaging”。



文章来源: Staging my Coldfusion app when using CFC inheritance/extends