PHP元件|微框架|SOAP|Imagery|Queue|Testing資源分享[高階phper必備]

PHPer技術棧發表於2023-02-11

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

學習資源

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


依賴管理( Dependency Management )

用於依賴管理的包和框架

框架( Frameworks )

Web開發框架

元件( Components )

配置( Configuration )

載入配置檔案的類庫和擴充套件

  • Yaconf - 一個高效能的配置管理擴充套件
  • config - 一個輕量級的配置載入器, 支援 PHP, INI, XML, JSON, YAML files
  • Zend-config
  • phpdotenv - 讀取.env中全域性的最高優先順序變數
  • symfony/yaml - 載入和剝離YAML配置檔案

微框架( Micro Frameworks )

微型框架和路由

路由( Routers )

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

模板引擎( Templating )

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

靜態站生成器( 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.
  • laravel-soap - Soap 協議客戶端

中介軟體( 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
  • testbench - Laravel 擴充套件包的單元測試工具
  • laracasts/TestDummy - Laracasts 出品的假資料建立工具
  • pestphp/pest - 一個優雅的測試框架

持續整合( Continuous Integration )

持續整合的庫和應用

  • Travis CI - 一個持續整合的平臺
  • SemaphoreCI - 一個給開源程式和私有專案的持續整合平臺
  • PHPCI - 一個PHP的開源持續整合平臺
  • Sismo - 一個持續的測試伺服器庫
  • Jenkins - PHP支援的持續整合平臺
  • JoliCi - PHP開發的由Docker支援的持續整合客戶端

文件( Documentation )

生成專案文件的庫

  • Sami - 一個API文件生成器
  • APIGen - 另一個API文件生成器
  • PHP Documentor 2 - 文件生成器
  • phpDox - 一個PHP專案的文件生成器(不僅僅是API文件)
  • swagger-php - A php swagger annotation and parsing library

安全( Security )

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

在這幾個網站可以檢視 XSS 字串用於安全測試

密碼( Passwords )

處理和儲存密碼的庫和工具、各種編碼的庫

程式碼分析( Code Analysis )

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

  • PHP Parser - 一個PHP編寫的PHP解析器
  • PHPPHP - 一個PHP實現的PHP虛擬機器
  • PHPSandbox - PHP的沙盒環境
  • Dissect - 詞法和語法分析的工具集合
  • PHP Mess Detector - 一個掃描程式碼bug、次佳程式碼和未使用引數的庫
  • PHP_CodeSniffer - 一個PHP/CSS/JS程式碼規範與質量檢查工具
  • PHP CS Fixer - 一個PHP程式碼規範與質量檢查工具
  • phpmd - 一個PHP程式碼規範與質量檢查工具
  • PHPCPD - 一個檢測複製和貼上程式碼的庫
  • PHP Analyser - 一個分析PHP程式碼中錯誤的庫
  • PHP Manipulator - 用於分析和修改PHP原始碼的庫
  • PHP Metrics - 一個靜態測量庫
  • PHP Refactoring Browser - 一個用於重構PHP程式碼的命令列工具
  • php-semver-checker - 一個版本對比的命令列工具
  • UBench - 一個簡單的小型基準測試庫
  • Athletic - 一個基於標註的基準測試庫
  • Mondrian - 使用圖論的程式碼分析工具
  • Scrutinizer - 檢查PHP程式碼的Web工具
  • PHPLOC - 一個快速評估PHP專案大小的工具
  • PHPCheckstyle - 一個幫助遵守特定程式碼規則的工具
  • PhpDependencyAnalysis - 一個建立可定製型依賴關係圖表的工具
  • Code Climate - 自動化的code review
  • PHP Error - 用於轉換標準的 PHP 錯誤資訊,主要用於開發過程中的除錯
  • psalm - 一個幫助你識別程式碼裡可能存在 bugs 的靜態分析工具
  • phan - 程式碼靜態分析工具
  • phpstan - 程式碼靜態分析工具
  • PHPLint - 用於PHP檔案語法檢測(支援多程式,基於 php -l)

結構( 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 - 基於官方版本fork的社群版本(支援PHP7)
      • xhprof.io - 實現儲存xhprof資料以及展示資料的UI
      • xhgui - 另一個儲存xhprof資料以及展示資料的UI
  • Blackfire.io - 一個低開銷的程式碼探查器
  • Kint - 一個除錯和效能分析的工具
  • phptrace - 360開源的PHP執行跟蹤工具
  • php-apm - Application performance management for PHP application
  • BooBoo - 集中異常捕獲
  • Collision - 命令列PHP應用程式的錯誤處理程式框架
  • symfony/debug - PHP debug除錯庫
  • Molten - 應用透明鏈路追蹤工具(PHP擴充套件)
  • laravel-debugbar - Laravel偵錯程式
  • itsgoingd/clockwork - 配合 Chrome 瀏覽器下同名外掛的除錯工具
  • GrahamCampbell/Laravel-Exceptions - 錯誤異常處理工具(支援開發和生產環境,使用 Whoops 進行錯誤顯示)

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

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

地理定位( Geolocation )

使用經緯度編碼地址的庫

日期與時間( Date and Time )

處理日期和時間的庫

事件( Event )

事件驅動或非阻塞事件迴圈實現的庫

日誌( Logging )

用於生成和處理日誌檔案的庫

電子商務( E-commerce )

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

PDF

處理PDF檔案的庫和軟體

Office

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

資料庫( Database )

使用物件關係對映(ORM)或資料對映技術的資料庫互動庫

遷移( Migrations )

用於管理資料庫模式、遷移、備份的庫

非關係型資料庫( NoSQL )

處理NoSQL後端的庫; 暫時將所有非 MySQL 儲存的庫都歸到這個分組

佇列( Queue )

處理事件和任務佇列的庫

佇列服務框架

  • Kafka - 高吞吐量的分散式釋出訂閱訊息系統
  • RabbitMQ - 使用 erlang 編寫的 AMQP (高階訊息佇列協議) 的服務實現
  • RocketMQ
  • ActiveMQ
  • Qpid
  • Disque - 分散式記憶體佇列
  • beanstalkd - 一個高效能、輕量級的訊息佇列中介軟體

佇列相關類庫

搜尋( Search )

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

命令列( Command Line )

構建命令列工具的庫

定時任務( Crontab )

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

身份驗證( Authentication and Authorization )

實現身份驗證模式的庫

許可權控制( Permission )

角色與許可權控制相關元件

標記( Markup )

處理標記的庫

字串( Strings )

解析和操縱字串的庫

數字( Numbers )

處理數字的庫

過濾和驗證( Filtering ang Validation )

用於過濾和驗證資料的庫

REST和API

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

快取( Caching )

快取資料的庫

資料結構和儲存( Data Structure and Storage )

實現資料結構和儲存技術的庫

通知( Notifications )

關於通知的庫

部署( Deployment )

用於專案部署的庫

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

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

第三方API( Third Party APIs )

訪問第三方API/SDK的庫

擴充套件( Extensions )

幫助構建PHP擴充套件的庫

  • Zephir - 用於開發PHP擴充套件的一種在PHP和C++間的編譯語言
  • PHP CPP - 一個用於開發PHP擴充套件的C++庫
  • PHP-X - C++ wrapper for Zend API

PHP 安裝(PHP Installation)

幫助安裝和管理PHP

開發環境(Development Environment)

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

  • Docker - 一個開源的應用容器引擎
  • Vagrant - 一個輕便的建立開發環境的工具
  • Ansible - 一個簡單的業務流程框架
  • Puppet - 伺服器自動化框架和應用
  • PuPHPet - 一個用於構建PHP開發虛擬機器工具
  • Protobox - 另一個用於構建PHP開發虛擬機器工具
  • Phansible - 另一個用於構建PHP開發虛擬機器工具
  • centstead - Laravel local development environment base on vagrant and homestead
  • Devilbox - A modern dockerized LAMP and MEAN stack alternative to XAMPP
  • Homestead - 基於 Vagrant 的 PHP 開發環境
  • Laradock - 基於 Docker 的 PHP 開發環境

虛擬機器(Virtual Machines)

替代的PHP虛擬機器

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

開發工具(Integrated Development Environment)

支援PHP的IDE

Web 應用程式(Web Applications)

基於Web的應用程式和工具

基礎設施(Infrastructure)

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

  • appserver.io - 基於PHP的多執行緒應用程式伺服器
  • php-pm - 程式管理器,增壓器和PHP應用程式的負載平衡器

資料庫中介軟體( DB Proxy )

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

  • kingshard - 金山開源的資料庫中介軟體
  • heisenberg - 百度開源的資料庫中介軟體
  • Oceanus - 58同城開源的資料庫中介軟體
  • Atlas - 360開源資料庫中介軟體
  • DBProxy - 美團點評基於Atlas的資料庫中介軟體
  • Mycat
  • TiDB - 分散式資料庫

RPC框架

遠端過程呼叫框架

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

規則引擎( Rules Engine )

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

分散式事務 (Distributed Transaction)

其他( Miscellaneous )

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

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

相關文章