PHP一些框架设计统一入口有什么好处?


如题?这么设计是出于什么样的考虑?

codeigniter php thinkphp

icefly 10 years ago

处理url的路由咯,不然你访问了哪个文件是被指定了的,PHP没有像Spring之类的能去配置URL路由的地方

红红红红师傅 answered 10 years ago

DRY 原则。

就相当于我们进入一栋大楼,如果是单一入口的话,就需要一个门卫。2个入口,则需要2个。

对于 HTTP 请求来说,每次的请求模式都一样:分析 URL --> 取得 query 数据 ---> 取得 FORM 数据 ---> 过滤所有的输入以保证安全 ---> 权限判断 ---> ....

其中还有很多,比如加载数据库配置,网站配置,缓存,全局函数等。

这些通用的功能,可以放到一个 前端控制器 里面,前端控制器负责处理框架的逻辑,然后这个控制器根据用户的请求,将 业务逻辑 发送给相应的控制器。

秀吉我的菜 answered 10 years ago

这个问题前段时间我也纠结了一下。

由于自己想学习下php框架,用了smarty。而smarty在每次调用界面模板时都需要用到smarty类。
也就是说每个php文件需要调用模板的时候都需要实例化smarty类,反复实例化我觉得有些无用功了,就想到用一个文件做入口,每次从这个入口进去做完所有的初始化工作,再根据地址所带参数来分配模板会更简单点。

单入口可以把所有配置,初始化的程序统一完成。这是我目前所发现的单入口的优点。

巧克力爱情 answered 10 years ago

Your Answer