变量。 cfmodule 内的作用域
Variables. scope inside of a cfmodule
我有一个名为
的页面
summary.cfm
里面:
<cfinclude template="view/totals.cfm>
view/totals.cfm
里面:
variables.grandTotalHTML = invoke("viewtotals, "doSummary", {...});
view/viewtotals.cfc
里面
<cfmodule template="summarytemplate.cfm" ...>
<!--- database is not passed in here --->
view/summarytemplate.cfm
里面有
param attributes.database = session.database;
...
databaseoverride = attributes.database;
...
<cfquery name="qData">
SELECT *
FROM [#variables.databaseoverride#]
...
</cfquery>
现在提问
我不知道数据库覆盖是从哪里来的。
- 全局页面是否请求范围?
- 是否来自
viewtotals.cfc
中的变量?
- 未限定范围的版本会覆盖它吗?
模块级别的变量作用域是模块本地的。模块中未定义范围的变量在变量范围内。
这一行
databaseoverride = attributes.database;
等同于
variables.databaseoverride = attributes.database;
设置此处使用的值也是如此
<cfquery name="qData">
SELECT *
FROM [#variables.databaseoverride#]
...
</cfquery>
(评论太长)
只是详细说明 :
summary.cfm
- 仅与包含的模板共享
VARIABLES
范围,"view/totals.cfm"
view/totals.cfm
- 仅与父模板共享
VARIABLES
作用域,"summary.cfm"
view/viewTotals.cfc
它的VARIABLES
作用域不与任何调用模板共享(summary.cfm和view/totals.cfm )
它的 VARIABLES
cfmodule 可访问 - 通过 CALLER
范围(函数的 local
和 arguments
个范围)
view/summaryTemplate.cfm
- 是否不与任何人共享其
VARIABLES
范围。
- 可以 view/modify 父组件 (viewTotals.cfc) 中的任何范围通过
CALLER
范围。
(上面的所有脚本都可以访问 REQUEST
作用域。)
我有一个名为
的页面summary.cfm
里面:
<cfinclude template="view/totals.cfm>
view/totals.cfm
里面:
variables.grandTotalHTML = invoke("viewtotals, "doSummary", {...});
view/viewtotals.cfc
里面
<cfmodule template="summarytemplate.cfm" ...>
<!--- database is not passed in here --->
view/summarytemplate.cfm
里面有
param attributes.database = session.database;
...
databaseoverride = attributes.database;
...
<cfquery name="qData">
SELECT *
FROM [#variables.databaseoverride#]
...
</cfquery>
现在提问
我不知道数据库覆盖是从哪里来的。
- 全局页面是否请求范围?
- 是否来自
viewtotals.cfc
中的变量? - 未限定范围的版本会覆盖它吗?
模块级别的变量作用域是模块本地的。模块中未定义范围的变量在变量范围内。
这一行
databaseoverride = attributes.database;
等同于
variables.databaseoverride = attributes.database;
设置此处使用的值也是如此
<cfquery name="qData">
SELECT *
FROM [#variables.databaseoverride#]
...
</cfquery>
(评论太长)
只是详细说明
summary.cfm
- 仅与包含的模板共享
VARIABLES
范围,"view/totals.cfm"
view/totals.cfm
- 仅与父模板共享
VARIABLES
作用域,"summary.cfm"
view/viewTotals.cfc
它的
VARIABLES
作用域不与任何调用模板共享(summary.cfm和view/totals.cfm )它的
VARIABLES
cfmodule 可访问 - 通过CALLER
范围(函数的local
和arguments
个范围)
view/summaryTemplate.cfm
- 是否不与任何人共享其
VARIABLES
范围。 - 可以 view/modify 父组件 (viewTotals.cfc) 中的任何范围通过
CALLER
范围。
(上面的所有脚本都可以访问 REQUEST
作用域。)