2010-03-25 21 views
6

que he ido añadiendo esto a mis páginas:¿Existe un ColdFusion equivalente a PHP para include_once?

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> 

¿Hay una mejor manera en la FQ? Algo similar a include_once de PHP?

+0

Dado que por definición, no podrá acceder al CFPARAM si la variable está definida, puede usar CFSET en su lugar. Esto tendrá menos sobrecarga. –

+0

no es así como funciona ben, la primera vez que se incluye el archivo, la variable tiene TODA la definición. Si el archivo se incluye OTRA VEZ, la variable se define (desde el primer momento) y el cfparam y el resto de la página nunca se alcanzan – davidosomething

+1

Hola David. Usted tiene un cheque NO IsDefinido, y luego dentro de ese, un cfparam. Esto significa que la única vez que se alcanzará su cfparam, es si aún no está definido, haciendo que el cfparam sea redundante. Podrías usar un cfset allí y tu código funcionaría exactamente igual. –

Respuesta

5

No, lo que has hecho es probablemente la mejor manera de hacerlo. Aunque usaría una variable de Solicitud en su lugar.

+0

¿por qué es mejor el alcance de la solicitud? – davidosomething

+1

Creo que el alcance de la solicitud obtiene Basura recogida más rápido? – Henry

+3

El alcance de la solicitud estará disponible para todas las plantillas de llamada, incluso si es invocado por cfmodule, cfc, etc. –

Cuestiones relacionadas