写了个 php 框架 (?)

PHP 框架是 PHP 程序员开发的有利武器,在你用了一些框架之后,我相信你有一天会突发奇想 “我要自己写一个属于我自己的 PHP 框架”。

为啥自己开发框架?

框架和其他程序一样,是用来解决问题的。如果你没有遇到问题,为什么要重新制造轮子?可能只是为了开发方便?但是,通过写个框架更好的理解原理也是一件好事。

大部分 PHP 框架做的事情:

  • 代码重用:定义包、类、函数的放置和加载规则,建议直接整合 Composer 及其 AutoLoad 特性。
  • 请求的分发管理:这个就是路由,Rest 风的框架喜欢 Rewrite,简单的一点的框架主要通过参数来定位模块和方法所在。
  • 配置文件管理:加载和动态加载配置数据
  • 错误和异常管理:异常捕捉、错误日志记录以及错误码规范。
  • LayOut 和模板引擎:如何规划页面布局、widget 如何重用、ajax 页面如何结合、过期 session 如何重定向;数据和模板怎么渲染成 HTML,是否压缩和设置过期头。
  • 数据库:如何融入控制器;支持什么样的 driver;考虑主从分离的扩展性;以及是否使用 ORM。

关于本框架

还是进入正题吧,本框架的名字定为 KotoriFramework,翻译成中文就叫 “鸟框架”。初衷还是为了应付一些小项目,比如个人的小博客程序之类的。内部函数命名极大的参考了 ThinkPHP(误~。不过路由的方法还是参照了 TP 的说。本框架应该暂时没有什么特点,不知道小算不算特点?框架没有繁琐的目录结构,系统核心文件也是单文件(我把所有类都放在了一个文件里,当然是单文件了!)既然是小(微)型框架,当然没有什么附加的功能了,基本功能都有,其他成熟框架附带的一些 Helper 都是没有哒~如果要拓展功能的话,比如想加入一个分页类、Markdown 解析类之类的东西,这些都有目录可以拓展,简单快捷。

目前唯一不足的地方可能是没有 Model 层,不过这应该也不算微型框架的缺点吧,暂时先写这些,个人感觉文档还是比较完善的,放上 Github 地址