平平博客平平博客

平平

ping@setbug.com

平平网络setbug.com

文章数
30980
评论数
3053
浏览数
9580175
平平
ping@setbug.com
平平网络setbug.com

PHP注解路由【前端控制器】的实现

其他教程2020-10-22 2435  1 
摘要:编写原因单纯想记录一下前期准备https://blog.setbug.com/wzym/7...

编写原因

单纯想记录一下

前期准备

实现思想

  1. 需重定向到同一个PHP文件中,然后在此文件中对符合要求的URL进行控制!
  2. 缓存是必须的,配置文件也是必须的,因为性能问题不能每次在用户访问时进行全盘扫描!因为我的PHP文件夹注解扫描本质就是全盘扫描!
  3. 缓存的增删改查也是必须的,因为可能存在临时URL而不是全局的,例如我在/get下想临时增加一个URL/get/id,就得临时增加!
  4. 配置文件暂时不讲,配置文件就是配置扫描的路径,以及全局前缀等

实现步骤

  1. 构造函数就是对配置文件进行解析,存放于变量中。
  2. 扫描方法,就要对配置文件中的扫描目录进行扫描,找出带有路由注解的类、方法或者函数!我用的是@router url="" method="",然后写入缓存文件。缓存文件中必须要有路由URL名,对应的类型如:方法、函数或者类,文件路径等,具体实现不在这里讲,可以自己约定。
  3. 路由执行方法,也是最重要的方法,通过对缓存文件解析,判断当前是否符合要求,当然还是要支持正则或者约定一种自己的匹配规则!当前解析出来的值还是要保存的,并且传入参数中,例如/get/(\d+),这样当我访问/get/1,匹配出来的就是1,如果方法为get($id),那么路由自动执行方法就要为get(1)
继续阅读
标签:教程前端php源码讲解类库框架路由分发路由分发注解链接url前端控制器
写代码真的很累!麻烦点个赞,评论一下,然后分享给自己的小伙伴!
打赏
海报分享
发表评论
表情
快捷
私密

右滑验证