Tengo el siguiente dos archivos y me gustaría el segundo para extender el primero:Application.cfc en un subdirectorio
- wwwroot \ sitio \ Application.cfc
- wwwroot \ sitio \ dir \ aplicación. cfc
Sin embargo, cuando voy a declarar el componente para el segundo archivo, no estoy seguro de qué poner en el atributo extends. Mi problema es que varios sitios dev (con un repositorio SVN compartida) se ejecutan fuera de la misma instancia de ColdFusion, por lo que no sólo se puede crear una asignación en el admin CF modo:
<cfcomponent extends="site.application">
Sin embargo, ColdFusion no le gusta:
<cfcomponent extends="..application">
o cualquier entrada dinámica como:
<cfcomponent extends="#expandpath('..').#application">
Creación de una correlación de tiempo de ejecución (like here) tampoco parece posible. Crearlo en la aplicación base.cfc es inútil porque ese código aún no se ha ejecutado cuando se declara el cfc heredado; y no puedo crear la asignación antes de que se defina el componente heredado porque aún no hay una aplicación para adjuntarlo.
¿Hay alguna manera de que pueda hacer referencia al directorio principal para lograr mi extensión?
Modifíquelo para aclarar: La solución ApplicationProxy no funciona debido al texto en negrita de arriba. En este momento, como solución alternativa, simplemente no verificamos el \ dir \ application.cfc en SVN para que cada desarrollador pueda mantener una versión que extienda su propia raíz application.cfc. Obviamente, esto no es ideal.
¿No supone esto que la raíz del sitio es la raíz web? No parece funcionar para mí. – Soldarnal
Soldernal, si la raíz del sitio no es la raíz web, necesitará una asignación a la raíz del sitio. Si su nombre de mapeo es foo, extiende "foo.application". –
Parece que me encontré con mi problema original otra vez. Si creo una asignación para foo a \ devsite1 \, entonces \ devsite2 \ dir \ application.cfc extenderá \ devsite1 \ application.cfc – Soldarnal