在wf框架中主要涉及到两个配置,组建配置和应用配置。

组件配置component_config

配置项必填默认值/可选值说明
component / 标识一个组件的定义
name Y 组件的别名,用于唯一标识一个组件。我们可以通过组件别名来获取组件实例。
path Y 该组件的类路径,路径支持目录别名方式。例:WIND:web.WindWebApplication
nitMethod N 注册初始化操作。必须为组件类的public方法。被注册的操作将会在应用创建结束后被调用执行
destroy N 注册清理操作。必须为组件类的public方法。组件工厂中的所有被实例化的组件的清理操作,将会在应用结束后统一被调用执行。
Scope Y singleton,application,prototype 组件对象的生命周期
proxy N true,false 是否开启代理
properties N 组件的属性定义,我们可以通过配置定义的方式为组件注入依赖关系。
支持两个属性 ‘name’,‘ref/value/path’
name: 属性名称,必须和类里面属性同名,类属性需要定义为protected。
constructor-args N 构造方法的参数值,支持name,ref/value/path 两个属性同上
config N 组件的配置定义支持resource模式,resource模式允许引入一个外部的配置文件,resource的值指向一个外部的配置文件。路径格式支持目录别名方式。

组件配置举例(例子为xml格式,wf中支持xml,php,ini,properties等格式):

<?xml version="1.0" encoding="UTF-8"?>
<component name='' path='' initMethod='' scope="application/singleton/prototype/" proxy='' destroy=''>
<properties>
<property name='' ref/value/path='' />
<property name='' ref/value/path='' />
</properties>
<constructor-args>
<constructor-arg name='0' ref/value/path='' />
<constructor-arg name='1' ref/value/path='' />
</constructor-args>
<config resource=''>
</component>

应用配置app_config

name
配置项必填默认值/可选值说明
isclose N 0,1 站点是否关闭设置,默认不关闭
isclose-tpl N 站点关闭后转向的模板路径,支持命名空间,需指明准确的文件后缀。例:TEST:template.closed.htm
components N 组件配置,该标签允许自定义组件配置、重载系统组件配置等
web-apps / 该标签,标识一段应用定义
web-app / 应用配置
Y 应用别名,唯一
class Y windApplication 应用类型,该值指向一个组件定义,默认启动组件
iscache N true,false 是否开启系统cache
charset utf-8 定义应用编码
filters / 配置应用过滤器,支持通表达式
filter / 过滤链中的一个过滤器配置
name Y 过滤器的名字,唯一
class Y 过滤器的实现
pattern 过滤器应用规则,支持表达式通配符如下:为空或者则所有的请求都将会应用该过滤器则所有module模块的请求都将会应用该过滤器
modules / 业务模块定义
module / 业务模块定义
name Y 模块的别名,通过URL访问系统时,参数m的值
controller-path controller 模块的路径(支持命名空间的方式)
controller-suffix Controller 指定该模块下的controller的统一后缀
error-handler WIND:web.WindErrorHandler 配置该模块的错误处理句柄,默认会访问WindErrorHandler
template-dir template 指定模板路径
compile-dir 模板编译文件存放路径

应用配置举例:

<?xml version="1.0" encoding="UTF-8"?>
<WIND>
<isclose>1</isclose>
<isclose-tpl>TEST:template.closed.htm</isclose-tpl>
<components>
<component name='db'>
<config resource="db_config.php" />
</component>
</components>
<web-apps>
<web-app name='default' class='windApplication'>
<iscache>1</iscache>
<charset>utf-8</charset>
<filters class='WIND:filter.WindFilterChain'>
<filter name='filter' class='WIND:web.filter.WindFormFilter' pattern='*' form=""/>
</filters>
<modules>
<module name='default'>
<controller-path>controller</controller-path>
<controller-suffix>Controller</controller-suffix>
<error-handler>WIND:web.WindErrorHandler</error-handler>
<template-dir>template</template-dir>
<compile-dir>data.template</compile-dir>
</module>
</modules>
</web-app>
</web-apps>
</WIND>
(作者:yishuo 最后更新日期:2012-05-18 )