那些最好的輪子 - PHP篇

 

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壓縮器。

HTTP Client HTTP客戶端

Requests

  • License : MIT
  • Source Code
  • Allo點評:Requests實現的很是靈巧,底層默認沒有使用cURL而是採用fsockopen做爲通訊手段,很是適合集成在一些小型項目中。

Buzz

  • License : MIT
  • Source Code
  • Allo點評:另外一個輕量級的HTTP客戶端實現,文檔上不夠豐富。獨到之處在於內置了事件機制,能夠更靈活的集成。

HTML & Dom

HTMLPurifier

  • License : LGPL v2.1+
  • Source Code
  • Allo點評:凡有WYSIWYG功能的項目,XSS以及惡意的提交都會成爲一個頭痛的問題。HTMLPurifier提供了完整的HTML校驗與糾錯,又無需安裝tidy擴展

PHP Simple HTML DOM Parser

  • License : MIT
  • Source Code
  • Allo點評:解析HTML爲DOM而且可使用jQuery選擇器操做DOM,若是須要提取HTML頁面內容而不考慮高性能,那麼用PHP Simple HTML DOM能夠很愜意。

Image 圖形處理

Imagine

  • License : MIT
  • Source Code
  • Allo點評:Imagine爲幾大圖形處理庫提供了一個統一接口,即後臺能夠爲Gd、Imagick、Gmagick的任意一種,而代碼保持不變。其實Pear也提供過相似的庫Image_Transform,可是Imagine明顯更勝一籌。我還基於Imagine作了一個能夠用URL操做圖片的項目EvaThumber,能夠更加簡單的集成。
  • 應用範圍:縮略圖生成等任何圖形相關的功能。

Log處理

Monolog

  • License : MIT
  • Source Code
  • Allo點評:能夠很是簡單的規定Log格式,並有衆多的後端支持。雖然像Zend Framework也內置了Zend\Log這樣的組件,可是Monolog仍然是最全面專業的Log處理首選方案
  • 應用範圍:幾乎全部須要線上調試或者收集用戶信息的系統

Markups 標記語言

PHP Markdown

  • License : New BSD License
  • Source Code
  • Allo點評:Markdown在輕量級標記語言中已經儼然有一統天下的趨勢,PHP Markdown應該是目前以PHP編寫的最好的Markdown解析器。固然通常來講使用Markdown做爲標記語言須要搭配一個JS編輯器,好比PageDown-Bootstrap
  • 應用範圍:任何中長篇的用戶數據錄入,好比用戶評論、Blog等場景。能夠減輕用戶錄入負擔,而且有效的防止XSS

Payment Gateways 支付網關

Aktive Merchant for PHP

  • License : MIT
  • Source Code
  • Allo點評:Ruby項目Active Merchant的php版本。對PayPal、Authorize.net等多家支付網關提供了統一的接口。
  • 應用範圍:須要支付網關的項目,有國內支付寶等網關支付需求的徹底能夠貢獻代碼

Omnipay

  • License : MIT
  • Source Code
  • Allo點評:統一接口的支付網關,支持的支付接口更豐富一些。

Queue 任務隊列

php-resque

  • License : MIT
  • Source Code
  • Allo點評:php-resque是Ruby項目resque在php下的實現。雖然Gearman也是一個不錯的選擇,可是resque的構架設計更加簡潔清晰,更加符合KISS原則。簡單用法能夠參看用PHP實現守護進程任務後臺運行與多線程一文
  • 應用範圍:須要後臺任務的系統,好比郵件發送、同步信息等需求。

Templating 模板引擎

Twig

  • License : New BSD License
  • Source Code
  • Allo點評:若是說對模板引擎的印象還停留在Smarty的階段,那麼你真的已經落後於時代了。Twig是目前關注度最高的PHP模板引擎,比Smarty提供了更簡約和易懂的語法。固然若是項目沒有主題切換這樣的需求,php自己就是最好的模板引擎。
  • 應用範圍:有皮膚、主題切換需求的項目,能夠避免php模板帶來的安全問題
相關文章
相關標籤/搜索