Fusebox第一次出现在舞台上是1998年,当时它和那些被ColdFusion开发者使用的代码没有什么区别。但是,现在,它被认为是最受欢迎的构造ColdFusion 应用程序的框架。为什么呢?因为他是免费的,并且通俗易懂,操作简单,并且工作稳定性好。这篇文章将会回顾一下最新版本Fusebox 4的新特性。
现在,我假设你对Fusebox工作的方式有了基本的了解。大家都知道Fuseations被聚合并压缩到回路中,所有你回路的工作聚集在一起推动你的应用程序。一系列的核心文件为你操作实现框架的任务,这样的话你可以字后的计划和构造用户需要的应用程序。
Fusebox 4引进了许多有用的新特性和并在Fusebox 3上做了很大的改进。让我们进距离来了解它们。
第一个大的变化就是fbx_switch, fbx_settings和fbx_circuits文件被取消了,取而代之的是XML文件:fusebox.xml和circuit.xml.
fusebox.xml文件使用标准的XML语法来定义回路和应用程序的参数。它同样也让你的寄存器创建一个全局fuseactions。每个Fusebox 4应用程序都有一个fusebox.xml文件。
Circuit.xml在回路的里面定义fuseactions。每一个回路都有它自己的circuit.xml文件。一个标准的XML语法习惯用于定义每个fuseaction,同时也完成象基本循环,条件逻辑等等操作。
使用XML有一些很不错的好处。第一,它的语言是中立的。XML文件的相同集合必须在ColdFusion应用程序或者PHP中使用。更有意思的是,XML可以被工具阅读和分析,也许你可以用来检测,生成文本文件或者操纵应用程序结构。
最后,对于XML文件来说,它们会更加稳定。当Fusebox 5在某天出现的时候,它们同样也有能力阅读相同的XML文件。
在fusebox.xml文件中你可以定义plugins和全局fuseactions,让我们来了解一下。
Plugins允许开发者扩展核心文件的功能。它可以这么工作:在一个Fusebox 4请求中,有一系列的“plugin points”发生,并且通过它们你可以执行一个plugin。这个plugin points是preprocess,preFuseaction, postFuseaction, fuseactionException, postProcess和processError。Plugins添加了安全或者异常处理的功能,这些plugins时刻准备着被用户使用。
全局fuseactions有一点点不一样。你可以在你想要执行的地方,无论是请求的开始还是结束,来定义整个fuseactions。比如,你可以在请求开始创建头文件的时候设置一个全局fuseaction,在请求结束的时候创建一个全局fuseaction来创建页脚。虽然这个例子很简单,但是你可以按照这种思路来创造自己的想法。