PHP类库/大全

依赖管理( Dependency Management )

用于依赖管理的包和框架

框架( Frameworks )

Web开发框架

  • Symfony2 – 由独立组件构成的框架(SP2)
  • Zend Framework 2 – 同样是由独立组件构成的框架(ZF2)
  • Laravel 5 – 简洁优雅的PHP Web开发框架(L5)
  • Aura PHP – 独立组件的框架
  • Yii2 – 用于开发大型Web应用的高性能PHP框架
  • thinkphp – 中文最佳实践PHP开源框架
  • Nette – 同样是由独立组件构成的框架
  • PPI Framework 2 – 一个交互性的框架
  • CakePHP – 一个高效的应用开发框架(CP)
  • Phalcon – 一个作为C扩展的框架
  • Yaf – 鸟哥的C扩展的框架
    • swoole-yaf – 基于 Swoole 及 Yaf 的开发框架
    • yaf – 另一个基于 Swoole 及 Yaf 的开发框架
  • SwooleDistributed – swoole 分布式全栈框架
  • Zan PHP Framework – 有赞开源的 PHP 框架
  • php-msf – Camera360开源的微服务框架
  • Biny – Biny是一款高性能的超轻量级PHP框架
  • Swoft Framework – 基于Swoole原生协程,新时代PHP高性能协程框架
  • mixstart/mixphp – 基于 Swoole 的FPM、常驻内存、协程三模 PHP 高性能框架

组件( 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的库

  • Purl – 一个URL操作库
  • PHP Domain Parser – 一个本地的后缀解析器
  • Uri – 一个简单的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 出品的假数据创建工具

持续集成( 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 )

用于生成安全的随机数、加密数据、扫描漏洞, 令牌的库

密码( 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后端的库

  • MongoDB
  • Redis
    • Predis – 一个功能完全的Redis库
    • codis – Codis 是一个分布式 Redis 解决方案
    • twemproxy – 是twtter开源的一个redis和memcache代理服务器
    • pika – Pika是一个可持久化的大容量redis存储服务

队列( Queue )

处理事件和任务队列的库

队列服务框架

  • Kafka – 高吞吐量的分布式发布订阅消息系统
  • RabbitMQ – 使用 erlang 编写的 AMQP (高级消息队列协议) 的服务实现
  • RocketMQ
  • ActiveMQ
  • Qpid
  • Disque – 分布式内存队列
  • beanstalkd – 一个高性能、轻量级的消息队列中间件

队列相关类库

搜索( Search )

在数据中建立索引和执行查询相关的库和软件

命令行( Command Line )

构建命令行工具的库

  • symfony/console – Symfony命令行工作组件
  • symfony/process – Symfony命令执行组件(用于执行系统命令)
  • Boris – 一个微型的PHP REPL
  • PsySH – 另一个PHP REPL
  • Pecan – 一个事件驱动,非阻塞的shell
  • GetOpt – 一个命令行选择解析器
  • OptParse – 另一个命令行选择解析器
  • Commando – 一个简单的命令行选择解析器
  • GetOptionKit – 同样还是一个命令行选择解析器
  • mtdowling/cron-expression -计算cron运行日期的库
  • ShellWrap – 一个简单的命令行包装库
  • Hoa Console – 另一个命令行库
  • Shunt -一个在多台远程机器上并行运行的命令行库
  • Cilex – 构建命令行工具的小型框架
  • CLImate – 构建命令行工具的框架(可以输出颜色和特殊格式)
  • Webmozart Console
  • Silly – Silly CLI micro-framework based on Symfony Console
  • php-shellcommand – A simple object oriented interface to execute shell commands in PHP
  • PHP-Console-Highlighter – 命令行下高亮显示 PHP 代码

定时任务( Crontab )

定时任务管理 crontab在 PHP 中的相关封装

身份验证( Authentication and Authorization )

实现身份验证模式的库

权限控制( Permission )

角色与权限控制相关组件

标记( Markup )

处理标记的库

字符串( Strings )

解析和操纵字符串的库

数字( Numbers )

处理数字的库

过滤和验证( Filtering ang Validation )

用于过滤和验证数据的库

REST和API

用于开发restful APIs的库和Web框架

  • dingo/api – 构建 API 服务器的完整解决方案
  • Apigility – 一个使用Zend Framework2构建的API构建器
  • Hateoas – 一个HATEOAS REST的web服务库
  • HAL – 一个超文本应用语言(HAL)构建库
  • Negotiation – 一个内容协商库
  • Drest -一个将Doctrine实体展现为REST资源结点的库
  • Restler – 一个将PHP方法展现为RESTful web API的轻量级框架
  • thephpleague/fractal – [最佳实践]数据返回的统一化处理
  • api-problem – A simple implementation of the api-problem specification
  • graphql-php – 应用层查询语言库
  • GraphQL – 另一个应用层查询语言库
  • GrahamCampbell/Laravel-Throttle – 速率控制工具

缓存( 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

  • HomeBrew – 一个OSX的包管理工具
  • HomeBrew PHP – HomeBrew中PHP的安装包
  • PHP OSX – 一个OSX中的PHP安装器
  • PHP Brew – 一个PHP版本管理工具和安装器
  • PHP Env – 另一个PHP版本工具
  • PHP Switch – 另一个PHP版本工具
  • PHP Build – 另一个PHP版本工具
  • VirtPHP – 一个创建和管理分离的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应用程序的负载平衡器
  • laravel-swoole – 基于 swoole 的高性能HTTP Server
  • laravel-s – 另一个基于 swoole 的高性能HTTP Server

数据库中间件( 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简易规则引擎

其他( Miscellaneous )

不属于以上分类的有用的类库和工具