常用的 PHP 類庫 資源

AR414發表於2020-02-12

學習資源

PHP相關的有參考價值的社群,部落格,網站,文章,書籍,視訊等資源


依賴管理( Dependency Management )

用於依賴管理的包和框架

框架( Frameworks )

Web開發框架

元件( 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 - 一個輕量級模板解析器

靜態站生成器( Static Site Generators )

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

  • Sculpin - 將Markdown和Twig轉換為靜態HTML的工具
  • Phrozn - 另一款ithub將Textile、Markdown和Twig轉為HTML的工具
  • Spress
  • Couscous - 將Markdown 文件轉換成 HTML 釋出到Github Page 的工具

HTTP

用於HTTP和抓取網站的庫

中介軟體( 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 - 一個事件驅動的測試框架

持續整合( 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 - 一個除錯和效能分析的工具

構建工具( 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)或資料對映技術的資料庫互動庫

遷移( Migrations )

用於管理資料庫模式和遷移的庫

非關係型資料庫( NoSQL )

處理NoSQL後端的庫

佇列( Queue )

處理事件和任務佇列的庫

佇列服務框架

佇列相關類庫

搜尋( Search )

在資料中建立索引和執行查詢相關的庫和軟體

命令列( Command Line )

構建命令列工具的庫

定時任務( Crontab )

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

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

身份驗證( Authentication and Authorization )

實現身份驗證模式的庫

標記( Markup )

處理標記的庫

字串( Strings )

解析和操縱字串的庫

數字( Numbers )

處理數字的庫

過濾和驗證( 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 - 一個部署工具
  • 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

虛擬機器(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 - 分散式資料庫

RPC框架

遠端過程呼叫框架

非同步網路通訊框架( Asynchronous Event Driven Framework )

其他( Miscellaneous )

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

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章