那些最好的轮子 - PHP篇
Databse 数据库ORM
- License : MIT
- Source Code
- Allo点评:Doctrine是功能最全最完善的PHP ORM,社区一直很活跃,对NoSQL也很是迅速的做出了跟进与支持。但之因此没有说Doctrine是最好的,是由于我对PHP究竟有没有必要使用如此庞大的ORM还心存疑虑,平心而论Doctrine的入门门槛实在有些高,尤为是DBAL的提出,更是要把开发者紧紧绑定在Doctrine这艘大船上,用与不用,仍是要仔细权衡。
- License : New BSD
- Source Code
- Allo点评:相比起Doctrine,RedBean轻巧的简直要飞起来,这两个轮子就是一组最好的比照,是大而全,仍是小而精,根据项目选择吧。
Documents & Testing 文档与测试
- License : MIT
- Source Code
- Allo点评:Faker是一个很神奇的项目,会自动生成拟真的数据,包括用户资料、长文本、IP、日期等等,在网站上线前测试时很是好用。
Datetime 时间处理
- License : MIT
- Source Code
- Allo点评:虽然PHP5内置的Datetime类已经足够应付通常需求,不过Carbon所提供的一些更人性化的处理则更符合实际需求,若是是时间相关的项目应该考虑使用。
File System 文件系统
- License : MIT
- Source Code
- Allo点评:文件系统几乎是全部项目都会遇到的问题,Gaufrette为常见的文件系统提供了一套统一接口,包括本地文件/FTP/Dropbox/GridFS/Zip/AmazonS3等等,是大型系统必备的组件。
Front-end 前端性能
- License : MIT
- Source Code
- Allo点评:Assetic能够说生来就是为了多模块的项目而存在的,有了Assetic,能够将分散在各模块中的前端文件编译、合并、压缩。可让开发人员专一于代码的编写而不是前端文件的生成。
- License : MIT
- Source Code
- Allo点评:LESS编译器的php版本。不过对于复杂的LESS项目,好比bootstrap,编译的结果与NodeJS原版仍是有差别,只能作为Assetic的一个补充。
HTTP Client HTTP客户端
- License : MIT
- Source Code
- Allo点评:Requests实现的很是灵巧,底层默认没有使用cURL而是采用fsockopen做为通讯手段,很是适合集成在一些小型项目中。
- License : MIT
- Source Code
- Allo点评:另外一个轻量级的HTTP客户端实现,文档上不够丰富。独到之处在于内置了事件机制,能够更灵活的集成。
HTML & Dom
- License : LGPL v2.1+
- Source Code
- Allo点评:凡有WYSIWYG功能的项目,XSS以及恶意的提交都会成为一个头痛的问题。HTMLPurifier提供了完整的HTML校验与纠错,又无需安装tidy扩展。
- License : MIT
- Source Code
- Allo点评:解析HTML为DOM而且可使用jQuery选择器操做DOM,若是须要提取HTML页面内容而不考虑高性能,那么用PHP Simple HTML DOM能够很惬意。
Image 图形处理
- License : MIT
- Source Code
- Allo点评:Imagine为几大图形处理库提供了一个统一接口,即后台能够为Gd、Imagick、Gmagick的任意一种,而代码保持不变。其实Pear也提供过相似的库Image_Transform,可是Imagine明显更胜一筹。我还基于Imagine作了一个能够用URL操做图片的项目EvaThumber,能够更加简单的集成。
- 应用范围:缩略图生成等任何图形相关的功能。
Log处理
- License : MIT
- Source Code
- Allo点评:能够很是简单的规定Log格式,并有众多的后端支持。虽然像Zend Framework也内置了Zend\Log这样的组件,可是Monolog仍然是最全面专业的Log处理首选方案
- 应用范围:几乎全部须要线上调试或者收集用户信息的系统
Markups 标记语言
- License : New BSD License
- Source Code
- Allo点评:Markdown在轻量级标记语言中已经俨然有一统天下的趋势,PHP Markdown应该是目前以PHP编写的最好的Markdown解析器。固然通常来讲使用Markdown做为标记语言须要搭配一个JS编辑器,好比PageDown-Bootstrap
- 应用范围:任何中长篇的用户数据录入,好比用户评论、Blog等场景。能够减轻用户录入负担,而且有效的防止XSS
Payment Gateways 支付网关
- License : MIT
- Source Code
- Allo点评:Ruby项目Active Merchant的php版本。对PayPal、Authorize.net等多家支付网关提供了统一的接口。
- 应用范围:须要支付网关的项目,有国内支付宝等网关支付需求的彻底能够贡献代码
- License : MIT
- Source Code
- Allo点评:统一接口的支付网关,支持的支付接口更丰富一些。
Queue 任务队列
Templating 模板引擎
- License : New BSD License
- Source Code
- Allo点评:若是说对模板引擎的印象还停留在Smarty的阶段,那么你真的已经落后于时代了。Twig是目前关注度最高的PHP模板引擎,比Smarty提供了更简约和易懂的语法。固然若是项目没有主题切换这样的需求,php自己就是最好的模板引擎。
- 应用范围:有皮肤、主题切换需求的项目,能够避免php模板带来的安全问题
欢迎关注本站公众号,获取更多信息