2010-03-25 67 views
6

我已经加入这我的网页:include_once是否存在与PHP等效的ColdFusion?

pagewithinclude.cfm

<cfinclude template = "_pagename.cfm"> 

_pagename.cfm

<cfif Not IsDefined("variables.included_pagename")> 
<cfparam name = "variables.included_pagename" default = "1"> 

rest of page 

</cfif> 

是否有CF更好的办法?类似于PHP的include_once?

+0

由于根据定义,如果定义了变量,则不会到达CFPARAM,您可以改为使用CFSET。这将有较少的开销。 – 2010-03-25 19:34:14

+0

这不是它是如何工作的,在第一次包含文件时,变量已经被定义。如果该文件被重新包含,变量被定义(从第一次)和cfparam和页面的其余部分永远不会到达 – davidosomething 2010-03-26 01:05:39

+1

嗨大卫。你有一个NOT IsDefined检查,然后是一个cfparam。这意味着唯一一次你的cfparam将被达到,如果它尚未定义,使cfparam冗余。您可以在那里使用cfset,并且您的代码将完全相同。 – 2010-03-29 10:22:03

回答

5

不,你所做的事可能是最好的办法。尽管我会使用Request变量。

+0

为什么请求范围更好? – davidosomething 2010-03-25 17:51:49

+1

我认为请求范围更快收集垃圾收集? – Henry 2010-03-25 18:53:58

+3

即使被cfmodule,cfc等 – 2010-03-25 19:33:03

相关问题