在关于不要重复造轮子的二三事一文中,交代了一些背景和想法。本篇则完全是一些干货,列举一些我用过或者即将会用的PHP轮子,基本都符合我对好轮子的定义:开源、许可证宽松、容易集成的PHP项目,目有些已经集成在EvaEngine里面,希望能帮助别人少走弯路。
日志还会陆续补充更新,同时欢迎推荐补充。
Databse 数据库ORM
Doctrine 2
- License : MIT
- Source Code
- Allo点评:Doctrine是功能最全最完善的PHP orM,社区一直很活跃,对NoSQL也非常迅速的作出了跟进与支持。但之所以没有说Doctrine是最好的,是因为我对PHP究竟有没有必要使用如此庞大的ORM还心存疑虑,平心而论Doctrine的入门门槛实在有些高,尤其是DBAL的提出,更是要把开发者牢牢绑定在Doctrine这艘大船上,用与不用,还是要仔细权衡。
RedBeanPHP
- License : New BSD
- Source Code
- Allo点评:相比起Doctrine,RedBean轻巧的简直要飞起来,这两个轮子就是一组最好的比照,是大而全,还是小而精,根据项目选择吧。
Documents & Testing 文档与测试
phpDocumentor 2
- License : MIT
- Source Code
- Allo点评:老牌php文档生成工具。
Faker
- License : MIT
- Source Code
- Allo点评:Faker是一个很神奇的项目,会自动生成拟真的数据,包括用户资料、长文本、IP、日期等等,在网站上线前测试时非常好用。
Datetime 时间处理
Carbon
- License : MIT
- Source Code
- Allo点评:虽然PHP5内置的Datetime类已经足够应付一般需求,不过Carbon所提供的一些更人性化的处理则更符合实际需求,如果是时间相关的项目应该考虑使用。
File System 文件系统
Gaufrette
- License : MIT
- Source Code
- Allo点评:文件系统几乎是所有项目都会遇到的问题,Gaufrette为常见的文件系统提供了一套统一接口,包括本地文件/FTP/Dropbox/GridFS/Zip/AmazonS3等等,是大型系统必备的组件。
Front-end 前端性能
Assetic
- License : MIT
- Source Code
- Allo点评:Assetic可以说生来就是为了多模块的项目而存在的,有了Assetic,可以将分散在各模块中的前端文件编译、合并、压缩。可以让开发人员专注于代码的编写而不是前端文件的生成。
lessphp
- License : MIT
- Source Code
- Allo点评:LESS编译器的php版本。不过对于复杂的LESS项目,比如bootstrap,编译的结果与NodeJS原版还是有差异,只能做为Assetic的一个补充。
minify
- License : MIT
- Source Code
- Allo点评:PHP版本的CSS/JS压缩器。