100個常用的 PHP 類庫、資源和技巧小結

收集整理一些常用的PHP類庫, 資源以及技巧. 以便在工作中迅速的查找所需...

100個常用的 PHP 類庫、資源和技巧小結

學習資源

PHP相關的有參考價值的社區,博客,網站,文章,書籍,視頻等資源

依賴管理( Dependency Management )

用於依賴管理的包和框架

框架( Frameworks )

Web開發框架

  • Symfony2 - 由獨立組件構成的框架(SP2)
  • Zend Framework 2 - 同樣是由獨立組件構成的框架(ZF2)
  • Laravel 5 - 簡潔優雅的PHP Web開發框架(L5)
  • Aura PHP - 獨立組件的框架
  • Yii2 - 用於開發大型Web應用的高性能PHP框架
  • Nette - 同樣是由獨立組件構成的框架
  • PPI Framework 2 - 一個交互性的框架
  • CakePHP - 一個高效的應用開發框架(CP)
  • Phalcon - 一個作爲C擴展的框架
  • Yaf - 鳥哥的C擴展的框架

組件( Components )

微框架( Micro Frameworks )

微型框架和路由

路由( Routers )

  • Fast Route - 一個高效路由庫
  • Route - 基於Fast Route的路由庫
  • Pux - 另一個高效的路由庫
  • Klein - 一個靈活的路由庫
  • Macaw - 一個簡單的 PHP 路由器,超級精簡、快速而且很性感。

模板引擎( Templating )

模板和詞法分析的庫與工具

  • Twig - 一種綜合的模板語言
  • Twig Cache Extension - 用於Twig的模板片段緩存庫
  • Mustache - PHP實現的Mustache模板語言
  • Phly Mustache - 另一個PHP實現的Mustache模板語言
  • MtHaml - PHP實現的HAML模板語言
  • PHPTAL - PHP實現的TAL模板語言
  • Plates - 一個原始的PHP模板庫
  • Lex - 一個輕量級模板解析器

靜態站生成器( Static Site Generators )

生成Web頁面內容的預處理工具

  • Sculpin - 將Markdown和Twig轉換爲靜態HTML的工具
  • Phrozn - 另一款將Textile、Markdown和Twig轉爲HTML的工具

HTTP

用於HTTP和抓取網站的庫

  • Guzzle - 一個完整的HTTP客戶端
  • Buzz - 另一個HTTP客戶端
  • Requests - 一個簡單的HTTP庫
  • HTTPFul - 一個鏈式HTTP客戶端
  • Goutte - 一個簡單的Web抓取器
  • PHP VCR - 一個錄製和回放HTTP請求的庫

中間件( Middlewares )

用於構建應用的類庫的中間件

URL

解析URL的庫

郵件( Email )

用於發送和解析Email的庫

文件操作( Files )

關於文件處理和MIME類型檢查

流( Stream )

處理流的庫

  • Streamer - 一個簡單的面向對象流包裝庫

依賴注入( Dependency Injection )

實現依賴注入設計模式的庫

  • Pimple - 一個小的依賴注入容器
  • Auryn - 另一個小的依賴注入容器
  • Container - 另一個靈活的依賴注入容器
  • PHP DI - 一個使用標註實現的依賴注入
  • Acclimate - 依賴注入容器和服務定位器的通用接口
  • Symfony DI - 一個的依賴注入組件(SF2)

圖像( Imagery )

處理圖像的庫

測試( Testing )

測試代碼庫和生成測試數據的庫

  • PHPUnit - 一個單元測試框架
  • DBUnit - PHPUnit的代碼測試庫
  • ParaTest - PHPUnit的並行測試庫
  • PHPSpec - 根據規範的單元測試庫
  • Codeception - 一個全棧測試框架
  • AspectMock - PHPUnit/Codeception的模擬框架
  • Atoum - 一個簡單的測試庫
  • Mockery - 一個用於測試的模擬對象庫
  • Phake - 另一個用於測試的模擬對象庫
  • Prophecy - 一個強大的模擬框架
  • Faker - 一個僞數據生成庫
  • Samsui - 另一個僞數據生成庫
  • Alice - 用於生成複雜數據的庫
  • Behat - 一個行爲驅動開發(BDD)的測試框架
  • Pho - 另一個行爲驅動開發的測試框架
  • Mink - Web驗收測試
  • HTTP Mock - 一個在單元測試中模擬HTTP請求的庫
  • VFS Stream - 一個用於測試的虛擬文件系統流包裝
  • VFS - 另一個用於測試的虛擬文件系統
  • Locust - 一個Python開發的現代負載測試庫
  • Peridot - 一個事件驅動的測試框架

持續集成( Continuous Integration )

持續集成的庫和應用

  • Travis CI - 一個持續集成的平臺
  • SemaphoreCI - 一個給開源程序和私有項目的持續集成平臺
  • PHPCI - 一個PHP的開源持續集成平臺
  • Sismo - 一個持續的測試服務器庫
  • Jenkins - PHP支持的持續集成平臺
  • JoliCi - PHP開發的由Docker支持的持續集成客戶端

文檔( Documentation )

生成項目文檔的庫

  • Sami - 一個API文檔生成器
  • APIGen - 另一個API文檔生成器
  • PHP Documentor 2 - 文檔生成器
  • phpDox - 一個PHP項目的文檔生成器(不僅僅是API文檔)

安全( Security )

用於生成安全的隨機數、加密數據、掃描漏洞, 令牌的庫

密碼( Passwords )

處理和存儲密碼的庫和工具

代碼分析( Code Analysis )

用於分析、解析和操作代碼庫的工具

結構( Architectural )

有關於設計模式,編程規範以及代碼組織方式的庫

調試和性能( Debugging and Profiling )

調試代碼的庫和工具

  • xDebug - 一個PHP的調試和分析工具
  • PHP Debug Bar - 一個調試工具條
  • PHP Console - Web調試控制檯
  • Barbushin PHP Console - 一個使用Google Chrome的Web調試控制工具
  • PHPDBG - 一個交互性的PHP調試器
  • Tracy - 一個簡單的錯誤檢測、日誌和時間測量庫
  • Z-Ray - 一個調試和性能分析的工具
  • xHprof - Facebook開源的PHP性能評測工具
  • Blackfire.io - 一個低開銷的代碼探查器
  • Kint - 一個調試和性能分析的工具

構建工具( Build Tools )

項目構建和自動化工具

  • Go - 一個簡單的PHP構建工具
  • Bob - 一個簡單的項目自動化工具
  • Phake - 一個PHP克隆庫
  • Box - 用來構建PHAR文件的工具
  • Phing - 依據Apache Ant的PHP項目構建系統

任務運行器( Task Runners )

自動運行任務的庫

  • Task - 依據Grunt和Gulp的純PHP任務運行器
  • Robo - 面向對象的PHP任務運行器
  • Bldr - 構建在Symfony組件上的PHP任務運行器

導航( Navigation )

構建導航結構的工具

資源管理( Asset Management )

用於管理、壓縮和最小化網站資源的工具

  • Assetic - 一個資源管理的管道庫
  • Pipe - 另一個資源管理的管道庫
  • Munee - 一個資源優化庫
  • JShrink - 一個JavaScript的壓縮庫
  • Puli - 一個檢測資源絕對路徑的庫

地理定位( Geolocation )

使用經緯度編碼地址的庫

  • GeoCoder - 一個地理編碼庫
  • GeoTools - 一個地理工具相關的庫
  • PHPGeo - 一個簡單的地理庫
  • GeoJSON - 一個GeoJSON的實現

日期與時間( Date and Time )

處理日期和時間的庫

事件( Event )

事件驅動或非阻塞事件循環實現的庫

日誌( Logging )

用於生成和處理日誌文件的庫

  • Monolog - 一個綜合的日誌類庫
  • KLogger - 一個易於使用的PSR-3日誌類
  • Analog - 一個機遇閉包的微型日誌包

電子商務( E-commerce )

用於支付和構建在線電子商務商店的庫和應用

  • OmniPay - 一個多網關支付處理的框架
  • Payum - 一個用於支付的抽象庫
  • Sylius - 一個開源的電子商務解決方案
  • Thelia - 另一個開源的電子商務解決方案
  • Money - PHP實現的Fowler金錢模式
  • Sebastian Money - 一個處理貨幣價值的庫
  • Swap - 一個匯率庫

PDF

處理PDF文件的庫和軟件

  • Snappy - 一個PDF和圖像的生成庫
  • WKHTMLToPDF - 一個將HTML轉換爲PDF的工具
  • PHPPdf - 一個將XML轉化爲PDF和圖片的庫

Office

Office套裝的各種文檔的處理庫

數據庫( Database )

使用對象關係映射(ORM)或數據映射技術的數據庫交互庫

  • Doctrine - 一個完整的DBAL和ORM
  • Doctrine Extensions - 一個Doctrine行爲的擴展集合
  • Propel - 一個快速的ORM,遷移和查詢庫
  • Eloquent - Laravel 5 ORM(L5)
  • Baum - 一個Eloquent的嵌套集合
  • Spot2 - MySQL的ORM映射器
  • RedBean - 一個輕量級、易配置的ORM
  • Pomm - 用於PostgreSQL的一個對象模型管理器
  • ProxyManager - 用於數據映射生成代理對象的工具集合
  • Cake ORM - 對象關係映射器, 實現了使用數據映射模式(CP)
  • Medoo - 一個輕量級的加速開發的ORM

遷移( Migrations )

用於管理數據庫模式和遷移的庫

非關係型數據庫( NoSQL )

處理NoSQL後端的庫

  • MongoQB - 一個MongoDB的查詢構建庫
  • Monga - 一個MongoDB的抽象庫
  • Predis - 一個功能完全的Redis庫

隊列( Queue )

處理事件和任務隊列的庫

搜索( Search )

在數據中建立索引和執行查詢相關的庫和軟件

命令行( Command Line )

構建命令行工具的庫

身份驗證( Authentication and Authorization )

實現身份驗證模式的庫

  • Sentinel - 一個身份驗證和授權的框架
  • Sentinel Social - 一個用於社交網絡身份驗證的庫
  • Opauth - 提供了 OAuth 認證的支持,提供統一標準的訪問方法
  • OAuth2 Server - 一個OAuth2身份驗證服務器、資源服務器和客戶端庫
  • OAuth2 Server - 一個OAuth2服務器實現
  • PHP oAuthLib - 另一個OAuth庫
  • TwitterOAuth - 一個Twitter OAuth庫
  • TwitterSDK - 一個經過完全測試的Twitter SDK
  • Hawk - 一個Hawk HTTP身份驗證庫
  • HybridAuth - 一個開源的社交登錄庫
  • Lock - 一個 Access Control Lists (ACL) 系統庫.
  • OAuth 1.0 Client - 一個 OAuth 1.0 客戶端庫.
  • OAuth 2.0 Client - 一個 OAuth 2.0 客戶端庫.
  • Sentry - 認證和授權系統
  • EvaOAuth - 統一接口的 OAuth 登錄 PHP 類庫

標記( Markup )

處理標記的庫

字符串( Strings )

解析和操縱字符串的庫

  • ANSI to HTML5 - 一個將ANSI轉換爲HTML5的庫
  • Patchwork UTF-8 - 處理UTF-8格式字符串的便攜庫
  • Hoa String - 另一個UTF-8格式的字符串庫
  • Stringy - 一個多字節支持的字符串操縱庫
  • Color Jizz - 一個處理和轉換顏色的庫
  • UUID - 生成UUIDs的庫
  • Slugify - 一個將字符串轉換爲slug格式的庫
  • Urlify - 一個Django URLify.js的PHP端口
  • Text - 一個文本處理庫
  • SQL Formatter - 一個用於格式化SQL語句的庫
  • UA Parser - 一個解析UA(User Agent)字符串的庫
  • Device Detector - 另一個解析UA(User Agent)字符串的庫
  • Mobile-Detect - 一個輕量級的檢測移動設備的庫(包括桌面設備)
  • Browser - 檢測關於用戶的瀏覽器環境

數字( Numbers )

處理數字的庫

  • Numbers PHP - 一個處理數字的庫
  • Math - 處理較大數字的庫
  • ByteUnits - 一個在二進制和測量系統中解析、格式化和轉換字節單位的庫
  • PHP Units of Measure - 一個測量單位間轉換的庫
  • PHP Conversion - 另一個測量單位間轉換的庫
  • LibPhoneNumber for PHP - PHP實現的Google電話號碼處理系統庫
  • hashids.php - 用來把整數生成唯一字符串(比如:通過加密解密id來隱藏真實id)

過濾和驗證( Filtering ang Validation )

用於過濾和驗證數據的庫

REST和API

用於開發restful APIs的庫和Web框架

  • Apigility - 一個使用Zend Framework2構建的API構建器
  • Hateoas - 一個HATEOAS REST的web服務庫
  • HAL - 一個超文本應用語言(HAL)構建庫
  • Negotiation - 一個內容協商庫
  • Drest -一個將Doctrine實體展現爲REST資源結點的庫
  • Restler - 一個將PHP方法展現爲RESTful web API的輕量級框架
  • fractal - [最佳實踐]數據返回的統一化處理

緩存( Caching )

緩存數據的庫

數據結構和存儲( Data Structure and Storage )

實現數據結構和存儲技術的庫

通知( Notifications )

關於通知的庫

部署( Deployment )

用於項目部署的庫

  • Pomander - 一個PHP應用的部署工具
  • Rocketeer - PHP的快速和簡單部署器
  • Envoy - 使用PHP運行SSH任務的工具
  • Plum - 一個部署庫
  • Deployer - 一個部署工具

國際化和本地化(Internationalisation and Localisation)

用於國際化(I18n)和本地化(L10n)的庫

第三方API( Third Party APIs )

訪問第三方API的庫

擴展( Extensions )

幫助構建PHP擴展的庫

  • Zephir - 用於開發PHP擴展的一種在PHP和C++間的編譯語言
  • PHP CPP - 一個用於開發PHP擴展的C++庫

其他( Miscellaneous )

不屬於以上分類的有用的類庫和工具

  • pinyin - 漢字轉拼音的庫
  • Pinyin - 漢字轉拼音的庫
  • class.upload.php - 文件上傳處理類
  • php-paginator - 分頁處理類
  • Underscore.php - Underscore.js的PHP實現
  • Flexihash - 一致性hash庫
  • Eden - 一個PHP快速開發類庫,它包含很多組件用來自動加載、事件驅動、文檔系統、緩存、模板、國際化、數據庫、web服務、支付網關、裝載和雲服務技術。
  • html-parser - html解析工具
  • PHPCrawl - PHP的爬蟲框架
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章