Fusebox 3中的规约激起了众多人的浓厚兴趣。Fusebox 3使用原始Fusebox的核心内容,检查其局限性,并形成一种惊人的柔韧性和强大的框架。Fusebox的基本思想并没有改变,但是它的执行方式被改进过并且是单一的,其性能也和以前有所变化。这篇文章主要是检测Fusebox 3中的新性能。
在Fusebox3众多变化中的一个就是切除了回路的“联盟”,它被一个内嵌的模式取代。不在需要让每个回路都知道其他的回路,所以的内部回路通信都由一个中心Fusebox文件来完成。
在Fusebox 3中引进了新的基本文件,它们包含了Fusebox 3新的特性。它们每一个都以FBX_作为前缀。
·FBX_Fusebox30_cfxx.cfm:它是Fusebox的核心文件,它执行Fusebox 3中所有的任务。这个文件是不应该被改变的。它在后台处理嵌套的回路,规划,移动URL和从变量到属性的作用域等等。不同的ColdFusion服务器上这个文件的版本会有所不同。
·FBX_Settings.cfm:它包含了每个程序或者每个回路的设置,有全局变量,默认值或者安全逻辑。FBX_Fusebox30_cfxx.cfm中包含了这些文件,并且可以在在根回路和任何嵌套的回路中搜索这些文件。
·FBX_Switch.cfm:它检查每个引进的fuseaction,找到一个匹配值。在这个文件中包含了任何可以单独完成fuseaction的必要文件。FBX_Fusebox30_cfxx.cfm中包含了这个文件并将自动分配适当的FBX_Switch。
·FBX_Layouts.cfm:它包含了一个回路的规格。这是Fusebox 3中的新特性,它将回路的规格从它的库容中分隔出来了。因为回路可以嵌套在每个之下,一个子回路可以拥有自己的规格,这个规格稍候将会被双亲回路包装。这个过程被称做嵌套规格。
·FBX_Circuits.cfm:通过列表的目录路径允许嵌套的回路访问任何嵌套的回路并提供给每个嵌套回路一个别名。分析和处理这些回路映射将由FBX_Fusebox30_cfxx.cfm文件自动完成。
如果你以前接触过Fusebox,你就会知道老版本的fuseaction是这样的:
fuseaction=displayNews
在新版本中,这个语法被改变成下面这种形式:
fuseaction=news.displayNews
fuseaction由回路别名,一个隔离板和你希望和FBX_Switch.cfm 文件相匹配的行为。回路的别名由FBX_Circuits文件定义,在fuseaction中的原点记号是你为什么能够嵌套回路,为什么开发者在不同的回路上工作却不需要知道其他回路地方的原因。通过提供回路的别名和fuseaciton,核心FBX_Fusebox知道该去哪,该运行什么。
因此,没有fuse直接调用其他的fuse;对于你的用户来说,所有的URL和窗体最后都将指向index.cfm文件。