2

在我的应用程序根文件夹中,我有一个Application.cfc文件。在子文件夹中,有一个Application.cfm. 当我在应用程序文件执行的子文件夹中调用脚本时:Application.cfcApplication.cfm

4

3 回答 3

4

当您调用子文件夹中的模板时,Application.cfm将执行子文件夹中的模板。

于 2017-10-31T14:10:38.080 回答
2

Application.cfm 被执行并了解有关执行顺序的更多信息。 从文档中:

ColdFusion 如何查找和处理应用程序定义页面

ColdFusion 使用以下规则来定位和处理定义应用程序特定元素的 Application.cfc、Application.cfm 和 OnRequestEnd.cfm 页面。ColdFusion 定位这些文件的方式有助于确定您如何构建应用程序。

每次 ColdFusion 处理页面请求时,它都会执行以下操作:

  1. 当 ColdFusion 开始处理请求时,它会执行以下操作:

    • 它在页面目录中搜索名为 Application.cfc 的文件。如果存在,它会创建一个新的 CFC 实例,处理初始事件并停止搜索。 (ColdFusion 为每个请求创建一个新
      的 CFC 实例并处理其初始化代码。)

    • 如果请求页面的目录没有 Application.cfc 文件,它会检查目录中的 Application.cfm 文件。如果
      存在,ColdFusion 逻辑上将 Application.cfm 页面包含在请求页面的开头并停止进一步搜索。

    • 如果所请求页面的目录没有 Application.cfc 或 Application.cfm 文件,ColdFusion 会向上搜索目录树并首先检查每个目录中的 Application.cfc 文件,如果找不到,则查找 Application.cfm 页面, 直到到达根目录(如 C:)。当它找到 Application.cfc 或 Application.cfm 文件时,它会处理该页面并停止搜索。

  2. ColdFusion 处理请求页面的内容。
  3. 当请求结束时,ColdFusion 会执行以下操作:
    • 如果您有 Application.cfc,ColdFusion 将处理 CFC 的 onRequestEnd 方法并释放 CFC 实例。
    • 如果您没有 Application.cfc,但有 Application.cfm 页面,ColdFusion 会在与 ColdFusion 用于当前页面的 Application.cfm 页面相同的目录中查找 OnRequestEnd.cfm。ColdFusion 不会搜索该目录之外的内容,因此它不会运行驻留在另一个目录中的 OnRequestEnd.cfm 页面。此外,如果应用程序页面出现错误或异常,或者应用程序页面执行 cfabort 或 cfexit 标记,则 OnRequestEnd.cfm 页面不会运行。


以下规则确定 ColdFusion 如何处理应用程序页面和设置:

  • ColdFusion 只为每个请求处理一个 Application.cfc 或 Application.cfm 页面。如果 ColdFusion 页面具有指向附加 ColdFusion 页面的 cfinclude 标记,则当 ColdFusion 包含附加页面时,它不会搜索 Application.cfc 或 Application.cfm 页面。

  • 如果 ColdFusion 页面具有 cfapplication 标记,它首先处理任何 Application.cfc 或 Application.cfm,然后处理
    cfapplication 标记。该标记覆盖
    应用程序文件中的设置,包括应用程序名称和
    由 cfapplication 标记属性设置的行为。

  • 您可以拥有多个使用相同应用程序名称的 Application.cfc 文件、Application.cfm 文件和 cfapplication 标记。在这种
    情况下,所有具有相同名称的页面共享相同的应用程序设置和应用程序范围,并设置和获取 此范围内
    的所有变量。
    ColdFusion 使用
    cfapplication 标签或最近处理的文件的参数设置,如果
    设置(例如会话超时)在文件之间不同。

于 2017-11-01T08:33:19.333 回答
0

实际上,有些服务器设置也会影响 application.cfc/cfm 文件的执行方式。在里面

Application.cfc/Application.cfm 查找顺序

选择 ColdFusion 搜索 Application.cfm 或 >Application.cfc(如果在当前项目文件夹中未找到)的顺序。您可以 > 将 ColdFusion 设置为搜索如下:

  • 默认搜索顺序:ColdFusion 从当前文件夹中查找 >Application.cfc/Application.cfm 文件,直到 >system 根目录。在 Windows 上,这可能是 C:\,在 UNIX 上,可能是 /opt。
  • 直到 Web 根目录:ColdFusion 从当前文件夹到 Web 根目录查找 Application.cfc/Application.cfm > 文件。
  • 在 Web 根目录中:ColdFusion 在当前文件夹或 Web 根目录中查找 Application.cfc/Application.cfm 文件。

CFIDE 设置

于 2017-11-03T17:56:57.870 回答