一个坑

浅谈PHP框架开发

 

先说说现在主流的PHP框架的基本功能:

1、单一入口
2、路由和分发
3、MVC

这3点是目前框架基本都具备的功能,其他的就五花八门了。如果想自己搞框架的话,这3点必须搞明白。

单一入口:

顾名思义,所有的HTTP请求都指向到一个文件,这个文件就是入口文件。

路由和分发:

HTTP请求到了入口文件,根据HTTP参数,路由这层就是解析并处理这些参数。并根据相应的参数,分发到指定的控制层(Controller)

MVC:

简单的说M=模型层,V=视图层,C=控制层,在我们一般的PHP框架之中:
Model模型层主要负责程序对业务逻辑的处理,主要体现在对数据库操作。
View视图层主要是把控制层抛送过来的数据,在相应的页面上呈现出来,也就是前台视图模板的渲染和输出。
Controller控制层是中间关键性的桥梁,负责接受HTTP请求,处理相应的业务,调用相应的model获取数据,并进过必要处理,抛送到View层。

注意:这个MVC是WEB MVC。

很多人认为MVC是框架,我觉得这个理解是有问题的。我认为,MVC只是一种模式,谈不上框架。其实MVC的鼻祖不是这个意思,具体的可以百度。WEB MVC的概念已经是变异过的MVC,所以在学习其他非WEB应用开发的时候,不要把2个MVC搞混了。

有点说远了,回到框架里面来。

分发到指定的Controller之后,就是根据需要调用Model获取数据,然后调用对应的视图文件,渲染视图,输出。

这个流程下来,应该觉得并不复杂吧。其实最基本的基于MVC的框架就是这么简单。思路理清楚,就好办。接下来只要实现各个阶段的代码就可以了。我们是面向对象开发,那首先就是分析对象。我们需要的对象有:

1、路由器
2、分发器
3、控制器基类
4、模型层
5、视图层基类

具体各个对象中的方法,请期待下回分解。