讨论数量:
:bug: :bug: :bug: 写 !
前排订阅
** 理由:**
- 总有 PHP 新手
- 互相学习成长
- 自己封装 PHP Web 框架,也是非常好的梳理框架流程方法,而且相对来说自己对框架的掌握更加细腻
- 可以参考市面常见的 PHP 框架,然后对比自己要实现的 WEB 框架的,有哪些的功能点,有哪些亮点
- 是否参考过一些现成的 composer 包之类的,也可以列出来,甚至是自己的封装的,包括但不限于路由、控制器、中间件
- 框架是否有采用 PSR 规范之类的,可以列出,如常见的 日志模块、HTTP请求模块、自动加载、服务容器等
个人思路:
- 配置文件:如何解析
- 框架入口文件启动:一般类似
kernel/application::run()
- 服务容器:是否采用服务容器来自动加载某些依赖项
- 路由模块:例如
module/controller/action
对应的路由解析、或者路由自定义,或者也支持 resetful 的接口 - 中间件:是否引入,来对请求前、请求中、请求后,做对应的操作
- 模型ORM:一般来说支持
mysql
/postgres
等数据库类型,支持模型关联,数据查询,数据录入等 - 视图模块:就比如如果需要渲染页面,一般采用
smarty
/blade
等解析引擎 - 异常错误:这种可以用一些现成的,用于快速友好渲染错误信息
- 缓存模块:例如
redis
/memcache
等,支持这些的快速操作 - 队列模块:例如
kafka
/rocketmq
等,支持消息异步处理 - 定时任务:例如 支持秒级别的,或者
cron
之类的 - 命令行工具:例如
laravel
里面的命令行 command 模块 - 其他:有很多现成的工具包,可以借鉴
symfony
中的组件,
推荐文章: