轻型php开发框架lightphp的由来和简介
October 4, 2009 – 7:33 pm一直以来,从php嵌套html开发到最终使用法国造symfony这个重型开发框架,我还一直没有碰到有关性能的问题,直到后来使用symfony1.2.7开发的项目竟然不堪重负,虽然团队伙伴最终发现是因为symfony1.2开启了路由缓存导致cpu占用过高,symfony官方网站也给出了解决办法,但是从这件事情看来,用别人的东西,尤其是一个非常复杂的东西,总是不保险的。由此我也萌生了开发一个最简单php框架的想法。
轻量级php框架lightphp主要特点
1.本框架使用面向过程(在处理某些特殊功能需求时还是会用到面向对象知识,例如图像处理类)的php开发模式;
lightphp之所以采用面向过程的架构设计,主要是参考了康盛创想uchome系列产品的设计思路,有的时候,使用底层的技术,虽然代码可读性和程序灵活性上差强人意,但是性能的提升是不可忽略的。
2.本框架使用者最好是已经使用PHP一年以上者,推荐新手去使用那些面向对象且方便开发的PHP框架,例如symfony;
lightphp中很多东西需要开发者去考虑,去实施,例如配置虚拟主机使url友好,如何规划项目方法库和类库,如何重构模板等等,这一切都不会像symfony等重型框架那样帮你去完成。所以需要使用者有一定的开发经验。
2.使用MVC模式实现,模板拼装需要手工完成;
MVC是比较流行而高效的开发模式,lightphp使用MVC设计思想来实现模型层、视图层和控制器之间的配合,lightphp没有使用模板引擎,而是在模板中使用了普通的php语法,也没有引入模板缓存方案。
3.取消文件自动载入功能,手工载入需要的文件;
文件自动载入可以方便开发,但是却在牺牲性能,所以我们抛弃这种方案。
4.友好的url路由规则使用手写.htaccess文件实现,推荐将其复制到虚拟主机配置中加快速度;
网站需要友好的url,这已经是做网站必须考虑的,一些重型框架可以通过yml文件配置而实现url重写,但是这种路由规则实现方案过于耗费系统资源,会降低性能,所以我们改为开发中使用.htaccess文件实现url重写,建议在最终发布产品时把重写规则粘贴到虚拟主机配置中加快访问速度。
5.数据操作使用原始sql查询,没有ORM,建议自己封装一个数据操作类使用即可;
propel和doctrine在使用上很便捷,但方便开发是以牺牲效率为代价的,所以数据查询推荐使用普通sql查询,当然lightphp可以安装ORM,但我们不推荐这样做。
6.取消yml文件载入配置信息方式,一切使用php常量和数组实现;
一些重型php框架配置信息载入使用yml文件为载体,lightphp中用到的配置信息全部以php常量或数组实现。
