当前位置:  软件>php软件

借鉴jfinal的PHP框架 PFinal

    来源:    发布时间:2014-12-22

    本文导语:  autoload规则 1.1 支持自定义的autoload,定义一个接口函数 1.2 autoload规则如下 LIB包的autoload规则,PFinal_Autoload_A_B_C,驼峰式命名 set_include_path()设置autoload的查找路径 1)controller 自动加载 www.baidu.com/a/b/c/p1-p2-p3?p4=v4 采用深度优先规则,...

autoload规则

1.1 支持自定义的autoload,定义一个接口函数

1.2 autoload规则如下 LIB包的autoload规则,PFinal_Autoload_A_B_C,驼峰式命名 set_include_path()设置autoload的查找路径

1)controller 自动加载 www.baidu.com/a/b/c/p1-p2-p3?p4=v4 采用深度优先规则,搜索controller,搜到则停止,后面的作为action,如果没有action,则默认为index controller的类自动寻找功能,APPLICATION.Controller.a.b.c.php

2)插件化的autoloader机制 autoload机制,可以注册 比方说 这样子可以支持自定义的目录结构和自定义的命名方式

3) 默认的autoloader实现 提供一个默认的Autoloader实现,按照A_B_C的方式去加载类

route机制

2.1 PFinal和PFinalConfig是要require进来的 首先的PFinal->init->PFinalConfig->init(注册各种参数)

2.2 系统启动的时候自动去application目录下搜索**Config类

2.3 route机制,做成组件的形式    route采用route链的形式,模拟apache的.htacess文件    a/b/c/d/p1-p2-p3?p4=v4    可以有几种路由机制,系统可插拔的方式加载,系统默认加载了default router    有一个stack来保存route的机制,可调整优先级,一层层往下route,找到既终止    优先级        1.  regexRouter 正则表达式router 如匹配        2.  prefixRouter 完全前缀匹配router 如匹配 a/b/c/d..任何url        3.  matchRouter 完全匹配只能匹配a/b/c        4.  defaultRouter 深度优先,默认的router    default-router:        深度优先查找controller

AOP机制,Interceptor机制    Pfinal_Interceptor_Builder负责根据controllerInstance反射出这个controller的Interceptor集合    支持两种模式,一种是controller继承自InterceptorInterface,一种是mock的annotation的方式    目前支持三种方式的interceptor吧,一种是before,一种是after,一种是around    支持controller级别的和action级别的以及application级别的interceptor

plugin机制    3.1 cachePlugin,实现action方法的拦截


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 哪位有shell写的mysql备份脚本阿,想借鉴看下,谢谢


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3