2

我没有在 Coldfusion 方面接受过任何正式培训,所以这样的事情真的让我很困惑,因为它们的工作方式与我想象的不同。

我的文件夹结构是这样的:

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

主文件ApplicationFolder中包含的最后一个 Application.cfc 是我想要包含我的<cflogin>东西的 Application.cfc。那行得通,而且效果很好。但是,当我在SubAppFolderx. 这些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 的信息并不多。虽然它的文档很棒,但它并不能帮助我理解在这种情况下我需要做什么。

那么我需要做什么来执行我在 in 中所做的onRequestStart事情SubAppFolderx?我敢肯定这是一个简单的答案,但就像我说的那样,我只是在这里自掘坟墓。

4

2 回答 2

1

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

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

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

于 2012-09-18T19:33:33.337 回答
0

您可以将您的登录名放入 cfinclude 语句中,并将 Application.cfc 放入 SubAppFolder1

  1. 包括所有 Application.cfc 通用的代码
  2. 包含对 SubAppFolder1 自定义的代码
于 2012-09-12T03:37:58.207 回答