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

明日月明發表於2018-01-23

學習資源

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和抓取網站的庫

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應用程式和服務的基礎設施

  • appserver.io - 基於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 機器學習庫

相關文章