#1 jake

SpeedPHP拥有数十项的应用程序配置,可定制性极强,让开发者更容易DIY自己的框架。
为了保证框架系统的通用性,开发者应避免直接修改spConfig.php文件,而是通过应用程序配置$spConfig变量来对程序进行配置。
关键设置项
应用程序中必须注意的配置
'mode'

应用程序模式,默认值:debug

取值:debug 或 release 。

debug模式,框架将显示各种错误信息以及警告信息,适用于开发调试中。

release模式,框架将不会显示一切的PHP错误信息,适用在已经部署运行的系统中。

核心配置项
框架核心配置,通常使用默认配置。开发者务必在完全明确修改核心配置项将对系统带来的影响下才进行对核心配置的修改。
'sp_core_path'

框架MVC核心目录,默认值:SP_PATH.'/Core'

'sp_include_path'

框架扩展功能载入路径,默认值:array( SP_PATH.'/Extensions' )

sp_include_path是框架系统内部载入扩展类文件的路径,如开发者需要增加或调整应用程序载入类库的目录,请在include_path内设置。

'mark_launch'

自动执行点的根节点,默认值:array( 'router_prefilter' => FALSE)

mark_launch可将程序嵌入到框架的一些核心位置执行。目前可用的位置点是router_prefilter(路由前执行点)

如需要在路由执行前进行getheader()的函数操作,配置将是:

'launch' => array( 'router_prefilter' => array( 'getheader' ) )

mark_launch中的执行程序支持类似getheader()的函数形式,同时支持array("类名","成员函数")的形式。

'auto_load_controller'

控制器自动加载的扩展类名,默认值: array('spArgs')

'auto_load_model'

模型自动加载的扩展类名,默认值:array('spPager','spVerifier','spCache','spLinker')

'sp_error_show_source'

spError显示代码的行数,默认值: 5

'allow_trace_onrelease'

是否允许在部署模式下输出调试信息,默认值:FALSE(不输出)

allow_trace_onrelease被设置成TRUE,在mode为release模式的情况下,仍可以显示spError信息。

用户配置项'default_controller'

默认的控制器名称,默认值:'main'

'default_action'

默认的动作名称,默认值: 'index'

通过修改default_controllerdefault_action将可以自定义框架的默认执行的控制器和动作。

例如,'default_controller' => 'mydefaultController' 和 'default_action' => 'mydefaultAction',在没有指定要执行的控制器和动作名称时,框架将默认执行mydefaultController控制器的mydefaultAction动作。

'url_controller'

请求时使用的控制器变量标识,默认值:'c'

'url_action'

请求时使用的动作变量标识,默认值: 'a'

修改url_controllerurl_action将影响spUrl生成的URL和框架执行控制器的方式。

例如,'url_controller' => 'ctrl' 和'url_action' => 'act',那么使用spUrl("guestbook","write")将返回:

/index.php?ctrl=guestbook&act=write

在开启PATH_INFO下使用spUrl("guestbook","write")将返回:

/index.php/guestbook/write

'auto_session'

是否自动开启SESSION支持,默认值:TRUE

效果等同 session_start();

'dispatcher_error'

定义处理路由错误的函数, 默认值为spError的信息。

请注意dispatcher_error的取值将是通过eval执行的PHP语句。

'sp_cache'

框架临时文件夹目录,默认值:APP_PATH.'/tmp'

'sp_cache'的设置将影响框架内使用文件存储的函数,如spAccess。

'controller_path'

用户控制器程序的路径定义,默认值:APP_PATH.'/controller'

'model_path'

用户模型程序的路径定义,默认值:APP_PATH.'/model'

通过controller_pathmodel_path,开发者可自定义自己的目录结构。

'url'

URL设置

url 子节点:

'url_path_info',是否开启PATH_INFO模式,默认值:FALSE(不开启)
PATH_INFO模式是一种对搜索引擎友好的URL模式,需要服务器的支持。
'url_path_base',URL的根目录访问地址,默认值:'/index.php'
url_path_base是spUrl生成URL地址的关键配置,默认是在服务器根目录执行程序,如果开发者需要在二级目录使用框架,请修改url_path_base以便对应应用程序入口文件。
'db'

数据库连接配置

'db' 子节点:

'driver',数据库驱动名称,默认值:'mysql'
'host',数据库链接地址,默认值:'localhost' (本地服务器)
'port',数据库链接端口,默认值:3306
'login',数据库登录用户名,默认值:'root'
'password',数据库登录密码,默认值为空
'database',数据库的库名称
'prefix',数据表的表前缀设置
'db_driver_path'

数据库驱动文件,默认值:'/mysql.php'

'view'

视图配置

'view' 的子节点:

'enabled' 是否开启视图,默认值:TRUE(开启)
enabled是视图配置的开关,如果设置成FALSE,则其下的其他配置均无作用。
'config',视图的具体配置,这里是Smarty的基础配置
'config' 的子节点:
'template_dir' ,模板存放的目录,默认值:APP_PATH.'/tpl'
'compile_dir',编译目录,默认值:APP_PATH.'/tmp'
'cache_dir', 缓存目录,默认值:APP_PATH.'/tmp'
'left_delimiter' ,Smarty左限定符,默认值: '{'
'right_delimiter' ,Smarty右限定符,默认值: '}'
'debugging' ,是否开启视图调试功能,默认值:FALSE(不开启)

开启视图调试功能后,在页面显示时将弹出另一窗口,窗口内显示Smarty的各种运行时的变量值等调试信息。在部署模式下无法开启视图调试功能。
'engine_name' ,视图驱动名称,默认值: 'smarty'
'engine_path' ,Smarty类库路径,默认值:SP_PATH.'/Core/Smarty/Smarty.class.php'
'auto_ob_start' ,是否自动开启缓存输出控制,默认值:TRUE
其作用相当于ob_start()
'auto_display' ,是否使用自动输出模板功能,默认值:FALSE
'auto_display_sep',自动输出模板的拼装模式,默认值:'/'
'/'为按目录方式拼装,'_'为按下划线方式,以此类推
'auto_display_suffix' ,自动输出模板的后缀名,默认值: '.html'
'html'

生成静态HTML文件配置

'html' 的子节点:

'enabled' ,是否开启真实静态HTML文件生成功能,默认值:FALSE(不开启)
'file_root_name' ,静态文件生成的根目录名称,默认值: 'topic'
设置为空则是直接在入口文件的同级目录生成
'url_setter',写入URL的列表接口设置,默认值:array("spHtml","setUrl")
支持类似seturl()的函数形式,同时支持array("类名","成员函数")的形式。
'url_getter', 获取URL的列表接口设置,默认值:array('spHtml','getUrl')
支持类似seturl()的函数形式,同时支持array("类名","成员函数")的形式。
通过设置'url_setter'和'url_getter',开发者将能自定义生成静态HTML的方式,如使用数据库记录。
'safe_check_file_exists', 获取URL时,是否检查物理HTML文件是否存在。默认值:FALSE
如检查到文件不存在,则返回安全的动态地址。'safe_check_file_exists'将保证spUrl生成的地址避免发生“找不到文件”的错误。
'lang'

多语言设置,默认值:array()

'lang' 键是每种语言的名称,而值可以是default(默认语言),语言文件地址或者是翻译函数。同时请注意,在使用语言文件并且文件中存在中文等时,请将文件设置成UTF8编码。

'ext'

扩展使用的配置根目录,默认值:array()

扩展类的配置将统一配置在'ext'节点中。

'include_path'

用户程序扩展类载入路径,默认值:array()

开发者可以通过'include_path'配置一个或多个扩展类的载入目录。

例如:

'include_path' => array(
        APP_PATH . '/myinclude',
        "D:/web/other_app",
)
静态项
框架配置的静态项建议避免进行设置修改,此类静态项主要作用是在运行时保存相关的变量信息。
'inst_class'

已实例化的类名称

'import_file'

已经载入的文件

'sp_access_store'

使用spAccess保存到内存的变量

'view_registered_functions'

视图内挂靠的函数记录


2012-08-06 21:04:20