Coldfusion MX技巧精华收集(1)第5/5页

 更新时间:2007年03月15日 00:00:00   作者:  

善用应用程序变量
应用程序变量(Application variables)对于同一个应用程序中的所有页面来说都是可随时叫用的。通常这类变量都是设定在 application.cfm 这个档案里面,但是它们也可以在其它单一页面里面设定。应用程序变量对于储存整个应用程序共享的资料来说非常有用,例如资料来源名称,绝对路径或者颜色设定资料等等。 

为了展示一下应用程序变量的用处,在这里我打算说明如何以应用程序变量来储存颜色设定资料。虽然 4.0 以及更新版本等支持 CSS 的浏览器占有率日渐提高,还是有很多使用者仍然在继续使用旧版浏览器。如果你仍在使用 <FONT> 卷标来设定文字样式,并且使用 color 属性来设定表格与文字的颜色,那么你应该心知肚明当日后要修改网站的颜色设定的时候,你的恶梦就要开始了!使用 ColdFusion,我们可以用另一种更轻松有效的方式来设定页面的各种颜色:那就是把色彩设定储存在应用程序变量里面。一旦你把颜色设定透过应用程序变量储存起来,你就可以透过变量名称来参照到这些颜色,而非直接将色彩名称(或者 16 进位色码)直接写在程序里面。进一步来看,你只需要修改这些应用程序变量的值,那么所有相关的页面中的颜色就会一起改变。 

在你的 application.cfm 档案里面,你可以设定一个应用程序变量让它的值包含一个空白结构(结构是一个键-值配对或者一个二维数组): 

<CFSCRIPT>
application.colors=structNew();
</CFSCRIPT> 
这样一来你便有了一个名为 Application.Colors 的应用程序变量了,该变量的值是一个空白结构。接下来你便可以将需要用的颜色名称储存在这个空白结构里面。下面是一个例子: 

<CFSCRIPT>
application.colors=structNew();
application.colors.body='FFFFFF';
application.colors.text='708090';
application.colors.link='C0F171';
application.colors.blue='131E63';
application.colors.red='C01531';
application.colors.yellow='FFFFE6';
</CFSCRIPT> 
现在在你的页面里头你便不再需要将颜色名称直接写进去,只要直接参照 Application.Colors 里面的变量就可以了。举例来说,在 <BODY> 卷标里面你可以使用下面这样的写法: 

<CFOUTPUT>
<BODY
BGCOLOR="#application.colors.body#" 
TEXT="#application.colors.text#"
LINK="#application.colors.link#">
</CFOUTPUT> 
你可以把这个技巧应用在表格,框线或者其它任何使用到颜色属性的地方。如此一来,你便可以很轻松地随时调整网站的颜色设定,因为所有的颜色都储存在同一个地方,修改起来非常容易。 

记得适时锁定
在读取或者设定应用程序(application),使用者状态(session)或者服务器这些范围的变量的时候,很重要的一点是在适当的变量范围内使用 CFLOCK 卷标进行变量的锁定。CFLOCK 卷标可以确保共享资料的完整与一致性,在高流量的服务器上面,这项工作尤显重要。如果你需要更多这方面的资料,请阅读你的使用说明文件,或者参考 ColdFusion 开发者期刊(ColdFusion Developer's Journal)网站上面的这篇文章。

相关文章

最新评论