#1 jake

本文将描述SpeedPHP框架系统内部各个扩展点以及其作用。

router_prefilter 路由前扩展点

在框架执行路由操作之前,将执行“router_prefilter”扩展点,主要作用是修改框架路由执行参数,无返回信息,可配置多个功能执行。
“router_prefilter”扩展点在框架spFunction.php文件约12行。
框架自带扩展:spUrlRewrite,spAcl均有使用该扩展点。

router_postfilter 路由后扩展点

在框架执行路由操作之后,将执行“router_postfilter”扩展点,主要作用是执行用户代码之后的操作和处理,无返回信息,可配置多个功能执行。
“router_postfilter”扩展点在框架spFunction.php文件约29行。

function_access spAccess核心函数扩展点

扩展点“function_access”可以改变核心缓存函数spAccess的执行值,将spAccess的实现转换成开发者定义的操作。返回值等于spAccess的返回值,不可以配置多个功能执行,如有多个功能将只执行第一个。
“function_access”扩展点在框架spFunction.php文件约94行。
框架自带扩展:spAccessCache使用该扩展点,以实现将变量缓存到memcached等存储设备中。

function_url spUrl核心函数扩展点

扩展点“function_url”可以改变核心URL生成函数spUrl的执行值,配置了扩展点“function_url”将直接返回开发者定义操作返回的URL值。返回值等于spUrl的返回值,不可以配置多个功能执行,如有多个功能将只执行第一个。
“function_url”扩展点在框架spFunction.php文件约236行。
框架自带扩展:spUrlRewrite使用该扩展点,以实现将普通URL转变成伪静态的URL。

在SpeedPHP框架第三版,目前有以上多个扩展点,在未来框架发展中,将会定义更多框架扩展点以便执行更多更复杂的扩展功能。

2012-08-04 23:52:43