6

我正在升级一个大型旧版 ColdFusion 应用程序,该应用程序大量使用Application.cfm模板文件而不是较新的Application.cfc文件。

似乎Application.cfc为 Application.cfm 文件可以做的所有事情提供了一个更清洁更有效的解决方案。

  • AnApplication.cfm为每个请求按顺序运行每一行,因此它将在每个后续的新页面查询中重新创建应用程序变量。(如果加载了许多应用程序变量,可能会导致性能下降) The Application.cfc允许某些真正的全局变量避免使用onApplicationStart()andonRequestStart()方法重新创建

Application.cfm有没有人遇到过页面更可取的用例/示例(除了移植所需的明显时间)Application.cfc

4

1 回答 1

8

IMO,这不是一个“太宽泛”的话题。这不是意见,我将其归类为最佳实践。

cfc使用over 的原因有很多cfm。我一直处于这种确切的情况。

以下是可用的常用功能列表Application.cfc(我相信您知道):

  • onApplicationStart()
  • onSessionStart()
  • onRequestStart()
  • 根据要求()
  • onRequestEnd()
  • onSessionEnd()
  • onApplicationEnd()
  • 错误()

在不深入每个细节的情况下,能够将代码分类到像这样的上下文存储桶中,这将使您能够更好地管理各种变量范围。如果没有这些上下文触发器,您只是在回复Application.cfm.

虽然两者都在每个页面请求上运行,但仅cfc运行其中的某些功能。,cfm您的代码一直在运行,检查何时应该或不应该运行的条件。

坚持使用cfm当然风险更小,但如果你要升级它,你应该期望你会在此过程中打破一切。采用最佳实践应该是这个过程的一部分。

于 2017-11-22T22:42:45.233 回答