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

學習資源

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擴展的框架
  • swoole-yaf - 基於 Swoole 及 Yaf 的開發框架
  • yaf - 另外一個基於 Swoole 及 Yaf 的開發框架
  • SwooleDistributed - swoole 分佈式全棧框架
  • Zan PHP Framework - 有贊開源的 PHP 框架

組件( Components )

配置( Configuration )

加載配置文件的類庫和擴展

  • Yaconf - 一個高性能的配置管理擴展
  • config - 一個輕量級的配置加載器, 支持 PHP, INI, XML, JSON, YAML files
  • Zend-config
  • phpdotenv - 讀取.env中全局的最高優先級變量

微框架( 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 - 一個輕量級模板解析器
  • Aura.View - Provides TemplateView and TwoStepView

靜態站生成器( Static Site Generators )

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

  • Sculpin - 將Markdown和Twig轉換爲靜態HTML的工具
  • Phrozn - 另外一款ithub將Textile、Markdown和Twig轉爲HTML的工具
  • Spress
  • Couscous - 將Markdown 文檔轉換成 HTML 發佈到Github Page 的工具

HTTP

用於HTTP和抓取網站的庫

  • Guzzle - 一個完整的HTTP客戶端
  • Buzz - 另外一個HTTP客戶端
  • Requests - 一個簡單的HTTP庫
  • HTTPFul - 一個鏈式HTTP客戶端
  • Goutte - 一個簡單的Web抓取器
  • PHP VCR - 一個錄製和回放HTTP請求的庫
  • php-curl-class - PHP的Curl類
  • Beanbun - 多進程網絡爬蟲框架

SOAP

  • soap-client - A general purpose SOAP client for PHP
  • soap-client - PHP implementation of SOAP 1.1 and 1.2 client specifications
  • wsdl2phpgenerator - Simple utility and class library for generating php classes from a wsdl file.

中間件( Middlewares )

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

URL

解析URL的庫

郵件( Email )

用於發送和解析Email的庫

文件操做( Files )

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

流( Stream )

處理流的庫

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

依賴注入( Dependency Injection )

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

圖像( 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 - 一個事件驅動的測試框架
  • SimpleTest - Unit Testing for PHP

持續集成( 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的調試和分析工具
  • whoops
  • PHP Debug Bar - 一個調試工具條
  • PHP Console - Web調試控制檯
  • Barbushin PHP Console - 一個使用Google Chrome的Web調試控制工具
  • PHPDBG - 一個交互性的PHP調試器
  • Tracy - 一個簡單的錯誤檢測、日誌和時間測量庫
  • Z-Ray - 一個調試和性能分析的工具
  • xHprof - Facebook開源的PHP性能評測工具
  • xhprof.io - 實現保存xhprof數據以及展現數據的UI
  • xhgui - 另外一個保存xhprof數據以及展現數據的UI
  • Blackfire.io - 一個低開銷的代碼探查器
  • Kint - 一個調試和性能分析的工具
  • phptrace - 360開源的PHP執行跟蹤工具
  • php-apm - Application performance management for PHP application
  • BooBoo - 集中異常捕獲

構建工具( 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 )

使用經緯度編碼地址的庫

日期與時間( Date and Time )

處理日期和時間的庫

事件( Event )

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

日誌( Logging )

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

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

電子商務( 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)
  • LazyRecord - 一個快速的ORM
  • Baum - 一個Eloquent的嵌套集合
  • Spot2 - MySQL的ORM映射器
  • RedBean - 一個輕量級、易配置的ORM
  • Pomm - 用於PostgreSQL的一個對象模型管理器
  • ProxyManager - 用於數據映射生成代理對象的工具集合
  • Cake ORM - 對象關係映射器, 實現了使用數據映射模式(CP)
  • Medoo - 一個輕量級的加速開發的ORM
  • Aura SQL - SQL database access through PDO.

遷移( Migrations )

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

非關係型數據庫( NoSQL )

處理NoSQL後端的庫

隊列( Queue )

處理事件和任務隊列的庫

隊列服務框架

隊列相關類庫

搜索( Search )

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

命令行( Command Line )

構建命令行工具的庫

  • symfony/console - Symfony命令行工做組件
  • Boris - 一個微型的PHP REPL
  • PsySH - 另外一個PHP REPL
  • Pecan - 一個事件驅動,非阻塞的shell
  • GetOpt - 一個命令行選擇解析器
  • OptParse - 另外一個命令行選擇解析器
  • Commando - 一個簡單的命令行選擇解析器
  • GetOptionKit - 一樣仍是一個命令行選擇解析器
  • Cron Expression -計算cron運行日期的庫
  • ShellWrap - 一個簡單的命令行包裝庫
  • Hoa Console - 另外一個命令行庫
  • Shunt -一個在多臺遠程機器上並行運行的命令行庫
  • Cilex - 構建命令行工具的小型框架
  • CLImate - 構建命令行工具的框架(能夠輸出顏色和特殊格式)
  • Webmozart Console
  • Silly - Silly CLI micro-framework based on Symfony Console

定時任務( Crontab )

定時任務管理 crontab在 PHP 中的相關封裝

  • Dispatcher - 基於Laravel的定時任務管理
  • swoole-crontab - 基於swoole的定時器程序,支持秒級處理
  • jobby - 一個 PHP 的定時任務管理器
  • cronlingo - Express crontabs as human friendly phrases

身份驗證( Authentication and Authorization )

實現身份驗證模式的庫

標記( 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 - 檢測關於用戶的瀏覽器環境
  • colors.php - An easy way to add colors in your CLI scripts.

數字( Numbers )

處理數字的庫

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

過濾和驗證( 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 - [最佳實踐]數據返回的統一化處理
  • api-problem - A simple implementation of the api-problem specification
  • graphql-php - 應用層查詢語言庫
  • GraphQL - 另外一個應用層查詢語言庫

緩存( Caching )

緩存數據的庫

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

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

通知( Notifications )

關於通知的庫

部署( Deployment )

用於項目部署的庫

  • Pomander - 一個PHP應用的部署工具
  • Rocketeer - PHP的快速和簡單部署器
  • Envoy - 使用PHP運行SSH任務的工具
  • Plum - 一個部署庫
  • Deployer - 一個部署工具
  • walle-web - 一個開源的web代碼發佈管理系統

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

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

第三方API( Third Party APIs )

訪問第三方API的庫

擴展( Extensions )

幫助構建PHP擴展的庫

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

PHP 安裝(PHP Installation)

幫助安裝和管理PHP

開發環境(Development Environment)

建立沙箱開發環境的軟件和工具

  • Vagrant - 一個輕便的建立開發環境的工具
  • Ansible - 一個簡單的業務流程框架
  • Puppet - 服務器自動化框架和應用
  • PuPHPet - 一個用於構建PHP開發虛擬機工具
  • Protobox - 另外一個用於構建PHP開發虛擬機工具
  • Phansible - 另外一個用於構建PHP開發虛擬機工具
  • centstead - Laravel local development environment base on vagrant and homestead
  • Laravel Homestead

虛擬機(Virtual Machines)

替代的PHP虛擬機

  • HHVM - Facebook 開源的PHP虛擬機
  • HippyVM - 另外一個PHP虛擬機

開發工具(Integrated Development Environment)

支持PHP的IDE

Web 應用程序(Web Applications)

基於Web的應用程序和工具

基礎設施(Infrastructure)

提供PHP應用程序和服務的基礎設施

數據庫中間件( DB Proxy )

用於讀寫分離、分庫分表等

  • kingshard - 金山開源的數據庫中間件
  • heisenberg - 百度開源的數據庫中間件
  • Oceanus - 58同城開源的數據庫中間件
  • Atlas - 360開源數據庫中間件
  • DBProxy - 美團點評基於Atlas的數據庫中間件
  • Mycat
  • TiDB - 分佈式數據庫
  • mysql-proxy - Swoole開源的數據庫中間件

RPC框架

遠程過程調用框架

異步網絡通訊框架( Asynchronous Event Driven Framework )

規則引擎( Rules Engine )

  • Hoa\Ruler - Hoa項目的規則引擎
  • Ruler - 簡單的無狀態的規則引擎
  • Rules - PHP簡易規則引擎

第三方平臺組件( Third Party )

  • wechat - 讓微信開發更簡單
  • Qiniu/sdk - Qiniu Resource Storage SDK for PHP
  • Wafer - 快速構建具有彈性能力的微信小程序

其餘( Miscellaneous )

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

  • pinyin - 漢字轉拼音的庫
  • Pinyin - 漢字轉拼音的庫
  • class.upload.php - 文件上傳處理類
  • php-paginator - 分頁處理類
  • Underscore.php - Underscore.js的PHP實現
  • Flexihash - 一致性hash庫
  • Eden - 一個PHP快速開發類庫,它包含不少組件用來自動加載、事件驅動、文檔系統、緩存、模板、國際化、數據庫、web服務、支付網關、裝載和雲服務技術。
  • html-parser - html解析工具
  • PHPCrawl - PHP的爬蟲框架
  • Tig - 命令行下的 Git 瀏覽器
  • copywriting-correct - 中英文文案排版糾正器
  • PHP-ML - PHP 機器學習庫
相關文章
相關標籤/搜索