在我的应用程序根文件夹中,我有一个Application.cfc
文件。在子文件夹中,有一个Application.cfm
。当我在子文件夹中调用应用程序文件执行的脚本时:Application.cfc
或Application.cfm
?
答案 0 :(得分:4)
当您在子文件夹中调用模板时,子文件夹中的Application.cfm
将被执行。
答案 1 :(得分:2)
执行Application.cfm并了解有关执行顺序的更多信息。 From the documentation:
ColdFusion如何查找和处理应用程序定义页面
ColdFusion使用以下规则来定位和处理 Application.cfc,Application.cfm和OnRequestEnd.cfm页面 定义特定于应用程序的元素ColdFusion定位这些的方式 文件有助于确定应用程序的结构。
每次ColdFusion处理页面请求时,它都会执行以下操作:
当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文件,它处理页面和 停止搜索。
- ColdFusion处理请求页面的内容。
- 当请求结束时,ColdFusion会执行以下操作:
醇>
- 如果您有Application.cfc,ColdFusion会处理CFC的onRequestEnd方法 并释放CFC实例。
- 如果你没有 Application.cfc,但确实有一个Application.cfm页面,ColdFusion看起来 对于与Application.cfm相同的目录中的OnRequestEnd.cfm 页面ColdFusion用于当前页面。 ColdFusion不搜索 超出该目录,因此它不会运行OnRequestEnd.cfm页面 位于另一个目录中。另外,OnRequestEnd.cfm页面 如果应用程序上存在错误或异常,则不会运行 页面,或者如果应用程序页面执行cfabort或cfexit标记。
以下规则确定ColdFusion如何处理应用程序 页面和设置:
ColdFusion仅为每个请求处理一个Application.cfc或Application.cfm页面。如果ColdFusion页面有cfinclude标记 指向另一个ColdFusion页面,ColdFusion没有 在它的时候搜索Application.cfc或Application.cfm页面 包括附加页面。
如果ColdFusion页面有cfapplication标记,它首先处理任何Application.cfc或Application.cfm,然后处理
cfapplication标签。标签会覆盖中的设置 应用程序文件,包括应用程序名称和行为
由cfapplication标记属性设置。您可以拥有多个使用相同应用程序名称的Application.cfc文件,Application.cfm文件和cfapplication标记。在这个中 例如,所有具有相同名称的页面共享相同的应用程序
设置和应用范围并设置并获取中的所有变量 这个范围。 ColdFusion使用
的参数设置 cfapplication标签或最近处理的文件,如果是 设置(例如会话超时)在文件之间有所不同。
答案 2 :(得分:0)
实际上有服务器设置也会影响application.cfc / cfm文件的执行方式。 在
Application.cfc / Application.cfm查找顺序
如果在当前项目文件夹中找不到,则选择ColdFusion搜索Application.cfm或> Application.cfc的顺序。您可以>设置ColdFusion进行搜索,如下所示:
- 默认搜索顺序:ColdFusion从当前文件夹中查找> Application.cfc / Application.cfm文件,直到>系统根目录。在Windows上,这可以是C:\,在UNIX上,/ opt。
- 直到web root:ColdFusion从当前文件夹中查找Application.cfc / Application.cfm>文件,直到web root。
Web根目录中的- :ColdFusion在当前文件夹或Web根目录中查找Application.cfc / Application.cfm文件>。