#### 写在前面 这个框架是我模仿ThinkPHP搭建的,框架的使用方法我写在了我的博客上:[silsuer的博客](http://liuhongbao.cn) 然后我把写这个框架时候的每一步的思路加上我自己的理解都详详细细的写在了这本教程里,这个教程中全都是干货!码字不易,希望各位能理解、支持我 本教程适用于: 1.学完原生PHP代码,打算一展身手的兄弟 2.有框架使用经验,想要深入理解框架的程序员 3.想要搭建自己的框架,却觉得无从下手的初级程序员。 这个教程会不断更新,我会不断的把一些PHP处理类库实现的方法写进来,我也欢迎大家批评指正,哪里看不懂也可以去[我的blog](http://liuhongbao.cn)上给我留言,我会一一回复,感谢各位的支持 ###### 文档简介 最近放假,趁着假期有时间,我接了一个项目,用ThinkPHP做一个网站,本人是重度TP使用者,TP是我接触的第一个框架,甚至在原生PHP还没有学好的时候,我就已经用TP搭了自己的第一个站了,说说我自己对TP的感受: 1. 语法简单 我最喜欢的就是TP的连贯操作,操作数据库太轻松了,实际上对于一个网站来说,核心就是对数据库的增删改查,然后将结果显示到网页中,在TP中, 只要使用``M('table_name')->where('id=5')->select();``就可以很轻松的拿到数据库的信息 2.结构明显 TP把整个网站模块化,“后台模块”、“前台模块”、“会员模块”等,只要在入口文件里注册过,就可以自动创建模块结构,而每个模块中都 有相同的结构,Model、Controller、View等,还可以单独的制作配置文件加载进去,而且可以在配置文件中指定目录结构,高度定制化 3.过于臃肿 TP的核心版本(去掉了所有的扩展类库)也有300多k,我详细看了里面的代码,或许是出于对安全的考虑?在我看来,很多函数有更好的实现 方法,还有钩子等,我认为对于小型网站来说,没有必要使用,钩子一般是用来执行一些与程序执行不相关的任务(记录运行日志等),这样会增加运行时间 ,影响效率。完全可以更加精简,提升效率,我按照这篇教程里写的MVC框架核心类库 只有不到30k。 4.报错莫名其妙 很多时候,TP报的错误我根本找不到原因......这也是自己技术不到家,比如上传错误啊、缓存错误啊,很多种,每次都要靠度娘,挺折磨人的,而且有时候还牵扯到底层代码,我也不敢去动,只能对着屏幕干瞪眼,然后换一种思路去实现需求。 基于以上几点,我决定自己仿照TP的语法搭建一个MVC框架,因为我自身技术也一般,没接触过太深层次的代码,写了将近一个月,查了很多资料,也看了好几个框架的源代码,发现它们的实现原理都是大同小异,也算终于写完了这个框架,想把我写这个框架的一些感受和步骤写下来供大家参考。大家有兴趣的可以去我的blog中查看:[silsuer的博客](http://liuhongbao.cn),里面有框架的使用方法,最下面有留言板,欢迎大家批评指正。具体步骤请继续往下看。