bool core::main ( [ mixed $framework_enable = null [, string $framework_require = null [, string $framework_module = null [, string $framework_action = null [, string $framework_parameter = null ] ] ] ] ] )◎参数
该方法可以根据框架配置自动执行相应的模块方法。该方法也有隐藏页面的功能。该方法除和参数对应的配置外,还有一个隐藏的配置属性framework_function,表示第一次访问main调用的方法名称。
framework_enable◎返回值是否要启用框架功能,如果不启用则直接进入页面隐藏功能。该方法可以是布尔值,也可以是用逗号分隔的字符串的组合,如“final,return”。framework_require
- final : 只有定义为final方法的动作才会被框架调用,默认无论是否final都可调用。
- static : 只有定义为静态方法的动作才会被框架调用,static和object都没有时默认静态和动态方法都可以调用。
- object : 只有定义为动态方法的动作才会被框架调用,static和object都没有时默认静态和动态方法都可以调用。
- require : 返回由$framework_require定义的文件规则得到的文件名,找不到则返回false。require、module、action、parameter可以组合用返回按顺序的数组
- module : 返回由$freamework_module定义的模块规则模块名,找不到则返回false。require、module、action、parameter可以组合用返回按顺序的数组
- action : 返回由$freamework_action定义的动作规则动作名,找不到则返回false。require、module、action、parameter可以组合用返回按顺序的数组
- parameter : 返回由$freamework_parameter定义的以逗号分隔的参数,返回参数的数组。require、module、action、parameter可以组合用返回按顺序的数组
- return : 当框架调用成功时不返回布尔值,而是返回调用方法的返回值
- manual : 当框架调用失败时不隐藏页面,而是返回布尔值
模块文件的规则,只有符合规则的才继续进行。默认值是空值,即默认不用验证该规则。找到文件时会require_once进来。framework_module
- [xxx] : 出现该项时会用$_GET的下标来替换,如找不到则为空串。
- {xxx} : 出现该项时会用$_POST的下标来替换,如找不到则为空串。
- (self) : 出现该项时会用核心类类名来替换。
- (static) : 出现该项时会用调用类类名来替换,如PHP 5.3以下的版本则返回空串。
- [get:xxx] : 出现该项时会用$_GET的顺序值或下标来替换,1表示第1个,找不到返回空串。get时值不改变大小写,Get时值仅头字母大写,gET时值仅头字母小写,GET时值全大写,geT时值全小写。
- [post:xxx] : 出现该项时会用$_POST的顺序值或下标来替换,1表示第1个,找不到返回空串。post时值不改变大小写,Post时值仅头字母大写,pOST时值仅头字母小写,POST时值全大写,posT时值全小写。
- [query:xxx] : 出现该项时会找$_SERVER ['QUERY_STRING']以&分隔的顺序值,1表示第1个,0表示整个QUERY,找不到返回空串
- [path:xxx] : 出现该项时会找$_SERVER ['PATH_INFO']以/分隔的顺序值,1表示第1个,0表示整个PATH_INFO,找不到返回空串
- [file:xxx] : 出现该项时会找调用本方法的文件名以路径分隔符分隔的顺序值,1表示不带后缀的文件名,2表示目录名,3表示上级目录名,0表示后缀名,找不到返回空串
- | : 该项的前后表示或的关系,该项会加到或数组中去。
- & : 该项的前后表示且的关系,之前的或数组用且来验证,可以使用通配符“*”。
- ! : 该项的前后表示非的关系,之前的或数组用非来验证,可以使用通配符“*”。
模块类名的规则,只有符合规则的才继续进行。默认值是(static)!(self),即PHP5.3找调用类名找不到找调用的文件名,但不能是核心模块类名。framework_action
- [xxx] : 出现该项时会用$_GET的下标来替换,如找不到则为空串。
- {xxx} : 出现该项时会用$_POST的下标来替换,如找不到则为空串。
- (self) : 出现该项时会用核心类类名来替换。
- (static) : 出现该项时会用调用类类名来替换,如PHP 5.3以下的版本则返回空串。
- [get:xxx] : 出现该项时会用$_GET的顺序值或下标来替换,1表示第1个,找不到返回空串。get时值不改变大小写,Get时值仅头字母大写,gET时值仅头字母小写,GET时值全大写,geT时值全小写。
- [post:xxx] : 出现该项时会用$_POST的顺序值或下标来替换,1表示第1个,找不到返回空串。post时值不改变大小写,Post时值仅头字母大写,pOST时值仅头字母小写,POST时值全大写,posT时值全小写。
- [query:xxx] : 出现该项时会找$_SERVER ['QUERY_STRING']以&分隔的顺序值,1表示第1个,0表示整个QUERY,找不到返回空串
- [path:xxx] : 出现该项时会找$_SERVER ['PATH_INFO']以/分隔的顺序值,1表示第1个,0表示整个PATH_INFO,找不到返回空串
- [file:xxx] : 出现该项时会找调用本方法的文件名以路径分隔符分隔的顺序值,1表示不带后缀的文件名,2表示目录名,3表示上级目录名,0表示后缀名,找不到返回空串
- | : 该项的前后表示或的关系,该项会加到或数组中去。
- & : 该项的前后表示且的关系,之前的或数组用且来验证,可以使用通配符“*”。
- ! : 该项的前后表示非的关系,之前的或数组用非来验证,可以使用通配符“*”。
动作方法名的规则,只有符合规则的才继续进行。默认值是[get:1]|index,即取第一个$_GET参数值或者index,但不能是核心模块类名。framework_parameter
- [xxx] : 出现该项时会用$_GET的下标来替换,如找不到则为空串。
- {xxx} : 出现该项时会用$_POST的下标来替换,如找不到则为空串。
- (self) : 出现该项时会用核心类类名来替换。
- (static) : 出现该项时会用调用类类名来替换,如PHP 5.3以下的版本则返回空串。
- [get:xxx] : 出现该项时会用$_GET的顺序值或下标来替换,1表示第1个,找不到返回空串。get时值不改变大小写,Get时值仅头字母大写,gET时值仅头字母小写,GET时值全大写,geT时值全小写。
- [post:xxx] : 出现该项时会用$_POST的顺序值或下标来替换,1表示第1个,找不到返回空串。post时值不改变大小写,Post时值仅头字母大写,pOST时值仅头字母小写,POST时值全大写,posT时值全小写。
- [query:xxx] : 出现该项时会找$_SERVER ['QUERY_STRING']以&分隔的顺序值,1表示第1个,0表示整个QUERY,找不到返回空串
- [path:xxx] : 出现该项时会找$_SERVER ['PATH_INFO']以/分隔的顺序值,1表示第1个,0表示整个PATH_INFO,找不到返回空串
- [file:xxx] : 出现该项时会找调用本方法的文件名以路径分隔符分隔的顺序值,1表示不带后缀的文件名,2表示目录名,3表示上级目录名,0表示后缀名,找不到返回空串
- | : 该项的前后表示或的关系,该项会加到或数组中去,可以使用“::”表示特定的类名。
- & : 该项的前后表示且的关系,之前的或数组用且来验证,可以使用通配符“*”,可以使用“::”表示特定的类名。
- ! : 该项的前后表示非的关系,之前的或数组用非来验证,可以使用通配符“*”,可以使用“::”表示特定的类名。
参数的规则,只有符合规则的才继续进行。该值默认是无参数,当该值是字符串时表示一个参数,数组时表示相应个数的参数。方法有几个参数位就传递几个参数。
- [xxx] : 出现该项时会用$_GET的下标来替换,如找不到则为空串。
- {xxx} : 出现该项时会用$_POST的下标来替换,如找不到则为空串。
- (self) : 出现该项时会用核心类类名来替换。
- (static) : 出现该项时会用调用类类名来替换,如PHP 5.3以下的版本则返回空串。
- [get:xxx] : 出现该项时会用$_GET的顺序值或下标来替换,1表示第1个,找不到返回空串。get时值不改变大小写,Get时值仅头字母大写,gET时值仅头字母小写,GET时值全大写,geT时值全小写。
- [post:xxx] : 出现该项时会用$_POST的顺序值或下标来替换,1表示第1个,找不到返回空串。post时值不改变大小写,Post时值仅头字母大写,pOST时值仅头字母小写,POST时值全大写,posT时值全小写。
- [query:xxx] : 出现该项时会找$_SERVER ['QUERY_STRING']以&分隔的顺序值,1表示第1个,0表示整个QUERY,找不到返回空串
- [path:xxx] : 出现该项时会找$_SERVER ['PATH_INFO']以/分隔的顺序值,1表示第1个,0表示整个PATH_INFO,找不到返回空串
- [file:xxx] : 出现该项时会找调用本方法的文件名以路径分隔符分隔的顺序值,1表示不带后缀的文件名,2表示目录名,3表示上级目录名,0表示后缀名,找不到返回空串
- | : 该项的前后表示或的关系,该项会加到或数组中去,参数用逗号分隔。
- & : 该项的前后表示且的关系,用且的方式验证类名和方法名,可以使用通配符“*”,可以使用“::”表示特定的类名和方法名。
- ! : 该项的前后表示非的关系,用非的方式验证类名和方法名,可以使用通配符“*”,可以使用“::”表示特定的类名和方法名。
如果framework_enable的话require、module、action、parameter返回单个值或数组。如果framework_enable有return的话,调用成功时返回调用方法的返回值。其他返回布尔值,true表示调用框架成功,false表示调用框架失败。◎修改日志
◎例子版本 描述
1.3 framework_enable增加了static属性,static和object都没有时默认静态和动态方法都可以调用。 1.3 require、module、action、parameter可以随意组合使用,返回按顺序的数组,未通过的值返回false。 1.3 原来条件统一成“|”、“&”、“!”,并且取消先后限制条件会从左到右判断,“&”和“!”后面可以带有“*”作为通配符。 1.3 模块和动作修改了默认值。参数由原来的可以为数组改成统一使用字符串表示。
使用方法
《test.php》
<?php
sample::stub () and sample::main (true,null,null,'[action]Action'); //只有直接访问sample模块时使用自定义框架
sample::stub () and sample::main ('final',null,null,'[go]|index'); //框架只访问final的方法,默认动作为index方法
?>