ColdFusion 11:改变应用程序"这个"扩展Application.cfc

时间:2018-01-08 20:37:35

标签: scope coldfusion coldfusion-11 application.cfc

我对ColdFusion应用程序工作流程有一般性的了解。但有些部分对我来说仍然不清楚。一般工作流程如下......

  1. 设置公共应用程序设置(I.E this.name,this.mappings ext。)
  2. onApplicationStart
  3. onSessionStart
  4. onRequestStart
  5. 我有一个带有Application.cfc的子目录,它扩展了存在于web-root的根Application.cfc

    阅读了大量描述这种设计模式的博客......

    在最后一个链接中(一些答案提供了一些基本的见解,但没有真正触及将this范围与扩展的Application.cfc一起使用。以下答案之一将我抛弃..(可能不是更正为没有赞成票)

      

    Application.cfc文件中此范围内的任何内容都将成为   application varialbe,仅在每个应用程序生命周期内创建   周期。应用程序启动后,没有其他用户可以执行此操作   在Application.cfc

    我转储了#application#范围,它与#this#

    不同

    getApplicationMetaData()似乎转储了相同的数据<cfdump var=#this#>,因此我猜测thisMetadata是最初设置的全局配置变量。

    1)如果Application.cfc使用代理扩展根Application.cfc,那么扩展组件共享的this范围(用于设置应用程序名称)是什么? (如果我在根组件中设置了this.name = "root"而在派生组件中设置了this.name = "user",那么冷融合会将此视为两个不同的应用程序,还是仅仅是应用程序名称的值发生变化的唯一影响?

    2)无论如何在psudo构造函数(this)后面的任何Applicaiton.cfc函数的onApplicationStart ,onSessionStart ,onRequestStart范围内更改Application MetaData?

    我正在尝试使用onApplicationStart()在根组件中设置特定于应用程序的映射,以便映射只设置一次。

0 个答案:

没有答案