配置文件说明

配置文件分全局配置文件和用户配置文件。

全局配置文件

全局配置文件为Conf目录下的Config.asp文件,应用全局配置文件优先级大于核心全局配置文件。

用户配置文件

用户配置文件可自行定义名称,除后缀外,名称不能包含点号(.)。用户配置文件可通过以下方式引用:

1、 Mo.C("配置文件名.配置项")
2、 Mo.C("配置文件名").配置项
3、 在模板中通过{$Mo.C.配置文件名.配置项}来引用

示例

例如如下配置文件(假设文件名为DB.asp。):

return {
    DB_Type : "ACCESS",
    DB_Path : "daa.mdb"
};

配置必须用return返回。

引用方法
var db_type = Mo.C("DB.DB_Type"); //或者, var db_type = Mo.C("DB").DB_Type;
{$Mo.C.DB.DB_Type}或者{$Mo.Config.DB.DB_Type} //模板中

全局配置项

MO_ROOT

定义程序根目录,一般自动获取。

MO_APP_NAME

定义App名称,同一网站运行多App时,多用于防止session混淆。

MO_APP_ENTRY

定义入口文件,一般自动获取。

MO_APP

定义App目录,可独立于Web目录而存在,这样设置更安全。

MO_CORE

定义核心目录,可独立于Web目录而存在。

MO_CACHE

是否开启静态缓存。开启后,将为每个请求url生成静态缓存,提高程序效率。

MO_CACHE_DIR

定义静态缓存目录。开启静态缓存后,必须定义本项。

MO_TEMPLATE_NAME

定义模板名称,默认为default。模板存放于应用或核心的Views目录。

MO_TEMPLATE_SPLIT

定义模板文件分割符号。默认为"/",即需要为每个Controller创建一个目录,保存对应模板。
可以自定义。例如:
设置为“.”,则所有模板文件都存放在模板根目录,命名方式为“控制器名.模板文件名.html”。
设置为“-”,则所有模板文件都存放在模板根目录,命名方式为“控制器名-模板文件名.html”。

MO_TEMPLATE_PERX

定义模板文件后缀,默认为html。

MO_TEMPLATE_ENGINE

定义模板引擎,默认为“views/view.js”,可选“"views/view2.js"”。

MO_TABLE_PERX

定义数据库表前缀。默认为“Mo_”。

MO_DEBUG

是否开启DEBUG,开启后可以在控制台查看错误的源行。默认为false,生产环境请务必设置为false。

MO_DEBUG_MODE

设置DEBUG模式,默认为“DIRECT”。可选:DIRECT,FILE,APPLICATION,SESSION。

MO_DEBUG_FILE

设置DEBUG的保存文件,如果MO_DEBUG_MODE值为FILE,则必须定义本项。

MO_COMPILE_CACHE

是否开启编译缓存,默认为true。开发环境可设置为false,生产环境建议设置为true,提高效率。

MO_COMPILE_CACHE_EXPIRED

设置编译缓存失效时间(秒)。默认为0(立即失效)。

MO_CHARSET

设置程序编码,默认为UTF-8。

MO_CONTENT_TYPE

设置程序输出类型。默认为空。

MO_METHOD_CHAR

设置QueryString中Controller的控制参数,默认为m。

MO_ACTION_CHAR

设置QueryString中Controller的方法控制参数,默认为a。

MO_GROUP_CHAR

设置QueryString中Controller分组的控制参数,默认为g。

MO_PRE_LIB

设置App运行前需要运行的库,库保存在Library的Assets目录中。

MO_END_LIB

设置App运行后需要运行的库,库保存在Library的Assets目录中。

MO_TAG_LIB

设置需要运行的标签扩展,扩展保存在Library的Assets目录中。
具体请参考:如何使用扩展

MO_ROUTE_REST_ENABLED

是否启用路由的REST功能,默认为false。

MO_ROUTE_MODE

设置路由方式,默认为空,不使用路由。可选:404,URL。
404可能需要手动设置IIS。

MO_ROUTE_URL_EXT

路由后缀,默认为html。当在路有中不使用后缀是,可忽略本配置。

MO_ROUTE_MAPS

设置静态路由,静态路由区分大小写。
详情参考:路由配置

MO_ROUTE_RULES

设置动态路由。
详情参考:路由配置

MO_PREETY_HTML

是否优化HTML,默认为false。启用后将重构生成的HTML代码(移除不必要的空格换行等)。

MO_IMPORT_COMMON_FILES

导入通用方法。
详情参考:导入通用方法

MO_SESSION_WITH_SINGLE_TAG

设置是否启用独立的Session标识。由MO_APP_NAME参数值影响。

MO_LANGUAGE

设置语言包。默认为cn。

MO_PARSEACTIONPARMS

是否自动解析控制器方法的参数,启用后,控制器参数的值将使用QueryString对应的参数值。

MO_CONTROLLER_CNAMES

设置控制器别名,用于实现不区分大小写的控制器。

MO_CONTROLLER_CNAMES : {
    'test' : 'Test'
}

设置test别名后,m值为Test,tEst等均可加载Test控制器。

MO_ACTION_CASE_SENSITIVITY

控制方法是否大小写敏感。默认为false。
开启后,控制方法将不区分大小写。

MO_AUTO_DISPLAY

是否自动调用模板。
开启本项后,如果控制器不存在相关方法,但是相关方法对应的模板存在,则自动display模板。

MO_ERROR_REPORTING

异常输出级别。默认为E_NONE,不输入任何异常(信息)。
可选:E_NONE,E_ERROR,E_NOTICE,E_WARNING,E_INFO,E_MODEL,E_LOG,E_ALL的按位或组合。

//只输出错误和LOG级别的异常信息。
MO_ERROR_REPORTING : E_ERROR | E_LOG
MO_DATABASE_TAG

数据库配置项,TAG为数据库表标识。默认为DB。
详情参考:数据库配置

MO_INGORE_COMPILE_CACHE

是否忽略编译缓存。默认值为false。
若值为true,则框架始终会生成编译文件,并使用最新的编译结果,方便调试。

MO_KEEP_PARAMS_WHEN_REWRITE

是否在启用路由后,继续保留原请求参数。默认为true。
若设置为false,将清空原请求参数,等效于隐藏控制器和方法,可防止恶意请求。
例如,如果路由模式为404,默认框架接受两种请求url:
1、http://www.thinkasp.cn/show/62.html ,重写规则会把本url重写为下面的url。
2、http://www.thinkasp.cn/?m=Home&a=Show&id=62
如果本配置项值为false,则第二种方法会失效,只有第一种方法能请求成功。
这样,通过重写可以完全隐藏控制器及方法,提高安全性。

其他说明

  1. 在控制器中,可以直接使用C方法获取和设置配置项。全局配置项需要使用@前缀引用。例如:C('@.MO_APP')
  2. 3.1.1.353及其之后的版本,可以忽略@前缀。例如:C('MO_APP')

发表评论评论(0)