仅使用Application.cfc的部分?

时间:2012-09-11 15:42:00

标签: coldfusion coldfusion-9 application.cfc

我没有接受过Coldfusion的正式培训,所以这样的事情让我感到困惑,因为他们没有像我想象的那样工作。

我的文件夹结构如下:

MainAppFolder
  |
  |_ApplicationFolder
    |
    |_SubAppFolder1
       |_Application.cfc
    |
    |_SubAppFolder2
       |_Application.cfc
    |
    |_Application.cfc

ApplicationFolder中包含的最后一个Application.cfc是Application.cfc我想要包含我的<cflogin>内容。这很有效,而且效果很好。但是,当我在SubAppFolderx中实现子Application.cfc时出现问题。那些Application.cfc只需要包​​含一个onRequestStart事件。

<cffunction name="onRequestStart">
    <cfset Application.AppID = 4>
    <cfinvoke component="loc" 
              method="getAppName" 
              returnvariable="appName" />
     <cfset Application.AppName = appName>
</cffunction>

我越是试图解决这个问题,我就越深入挖洞。我试图回过头来了解更多关于如何操作Application.cfc的内容,但就教程而言,关于Coldfusion的信息并不多。它的文档虽然很棒,但它无法帮助我理解在这种情况下我需要做什么。

那么我需要做什么,才能执行onRequestStart SubAppFolderx中的内容?我确定这是一个简单的答案,但就像我说我只是在这里挖洞。

2 个答案:

答案 0 :(得分:1)

虽然cfinclude没问题,但它可能无法提供您正在使用的功能(继承)由于Application.cfc本身就是一个组件,您可以像使用任何其他CFC一样重载/覆盖这些方法。

我不会进入代码,因为名为Ben Nadel的传说已经为这个问题发布了一个完美的博客:

http://www.bennadel.com/blog/1179-Ask-Ben-Extending-Application-cfc-And-OnRequestStart-With-SUPER.htm

答案 1 :(得分:0)

您可以将您的登录信息放入cfinclude语句,并将Application.cfc放在SubAppFolder1

  1. 包含所有Application.cfc
  2. 共有的代码
  3. 包含自定义为SubAppFolder1的代码