中文版
收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中迅速的查找所需…
- 这个列表中的内容有来自 awesome-php 的翻译, 有来自开发者周刊以及个人的积累等.
- 一个前端组件的列表 awesome-frontend 推荐
学习资源
PHP相关的有参考价值的社区,博客,网站,文章,书籍,视频等资源
-
PHP网站(PHP Websites)
- PHP The Right Way – 一个PHP实践的快速参考指导
- PHP Best Practices – 一个PHP最佳实践
- PHP Weekly News – 一个PHP 周刊
- Securing PHP – 有关PHP安全相关
- PHP FIG – PHP框架交互小组
- PHP School – 一个开源的PHP学习资源
- PHPTrends – 一些快速发展的PHP类库检索
- PHP 开发者实践
-
其他网站(Other Websites)
- The Open Web Application Security Project (OWASP) – 一个开源软件安全社区
- WebSec IO – 一个web 安全社区
- Semantic Versioning – 语义化版本
- Atlassian Git Tutorials – 一系列的Git教程
- Servers for Hackers – 有关服务器运维相关
-
PHP书籍(PHP Books)
- Modern PHP – 作者是PHP 之道的发起人和Slim框架的作者
- PHP Pandas
-
其他书籍(Other Books)
- The Linux Command Line – Linux 命令行教程
依赖管理( Dependency Management )
用于依赖管理的包和框架
- Composer / Packagist – 一个包和依赖管理器.
- Composer Installers – 一个多框架Composer库安装器
- pickle – PHP扩展安装器
- Melody – A tool to build one file Composer scripts.
框架( 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 的开发框架
- Zan PHP Framework – 有赞开源的 PHP 框架
组件( Components )
- Aura Components – 一个PHP5.4的组件包
- Hoa Project – 一个PHP组件集合
配置( Configuration )
加载配置文件的类库和扩展
- Yaconf – 一个高性能的配置管理扩展
- config – 一个轻量级的配置加载器, 支持 PHP, INI, XML, JSON, YAML files
- Zend-config
微框架( Micro Frameworks )
微型框架和路由
- Silex – 基于Symphony2组件的微型框架
- Silex Skeleton – 用于Silex的项目框架
- Silex Web Profiler – 用于Silex的Web调试工具条
- Slim – 另一个简单的微型框架
- Slim Skeleton – 用于Slim的框架
- Slim View – Slim的自定义视图集
- Slim Middleware – Slim的自定义中间件集合
- SlimMVC-Skeleton – Slim基础上实现了MVC及一些组件
- Bullet PHP – 用于构建REST APIs的微型框架
- Lumen – 基于Laravel的微型框架
- Proton – 一个微型PHP框架
- blink – 一个为构建 “long running” 服务而生的 Web 微型高性能框架
路由( 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和抓取网站的库
- Guzzle – 一个完整的HTTP客户端
- Buzz – 另一个HTTP客户端
- Requests – 一个简单的HTTP库
- HTTPFul – 一个链式HTTP客户端
- Goutte – 一个简单的Web抓取器
- PHP VCR – 一个录制和回放HTTP请求的库
- php-curl-class – PHP的Curl类
中间件( Middlewares )
用于构建应用的类库的中间件
URL
解析URL的库
- Purl – 一个URL操作库
- PHP Domain Parser – 一个本地的后缀解析器
- Uri – 一个简单的URL操作库
邮件( Email )
用于发送和解析Email的库
- SwiftMailer – 一个邮件程序的解决方案
- PHPMailer – 另一个邮件程序的解决方案
- Nette Mail – 一个简单优雅的邮件发送模块
- Fetch – 一个IMAP库
- Email Reply Parser – 一个邮件回复解析器库
- Stampie – 关于邮件服务的库,比如SendGrid、PostMark、MailGun和Mandrill
- CssToInlineStyles – 邮件模板中一个内联的CSS库
- Email Validator – 一个小巧的邮箱验证库
文件操作( Files )
关于文件处理和MIME类型检查
- Gaufrette – 一个文件流的抽象层
- Flysystem – 另一个文件流的抽象层
- Canal – 一个检查互联网媒体类型的库
- Apache MIME Types – 一个解析Apache MIME类型的库
- Ferret – 一个MIME检测库
- Hoa Mime – 另一个MIME检测库
- Lurker – 一个资源跟踪库
- PHP File Locator – 一个在大型项目中定位文件的库
- PHP FFmpeg – 一个用于FFmpeg视频包装的库
- CSV – 一个CSV数据操作库
流( Stream )
处理流的库
依赖注入( Dependency Injection )
实现依赖注入设计模式的库
- Pimple – 一个小的依赖注入容器
- container-interop – Containers interoperability
- Auryn – 另一个小的依赖注入容器
- Container – 另一个灵活的依赖注入容器
- PHP DI – 一个使用标注实现的依赖注入
- Acclimate – 依赖注入容器和服务定位器的通用接口
- Symfony DI – 一个的依赖注入组件(SF2)
- Twittee
- simple di container
- Ding
图像( Imagery )
处理图像的库
- Imagine – 一个图像处理库
- PHP Image Workshop – 另一个图像处理库
- Intervention Image – 同样还是一个图像处理库
- GIF Frame Extractor – 一个提取GIF动画帧信息的库
- GIF Creator – 从多幅图片中创建GIF动画的库
- Image With Text – 在图像中嵌入文本的库
- Color Extractor – 从图像中提取颜色的库
- Glide – 一个按需的图片处理库
- Image Optimizer – 一个优化图片的库
- PHPThumb – 缩略图处理库
- phpqrcode – 二维码生成库
- QrCode – 另一个二维码生成库
测试( 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 )
用于生成安全的随机数、加密数据、扫描漏洞, 令牌的库
- HTML Purifier – 一个标准的HTML过滤器
- RandomLib – 生成随机数和随机字符串的库
- True Random – 使用www.random.org生成随机数的库
- SecurityMultiTool – 一个PHP安全库
- PHPSecLib – 一个纯的PHP安全通信库
- TCrypto – 一个简单的键值加密存储库
- PHP IDS – 一个结构化的PHP安全层
- PHP SSH – 面向对象的SSH包装库
- IniScan – 一个扫描PHP INI文件安全的工具
- SensioLabs Security Check – 一个根据安全建议检查Composer依赖的Web工具
- Zed – 用于Web应用的集成渗透测试工具
- php-ratelimiter
密码( Passwords )
处理和存储密码的库和工具
- Password Compat – 一个用于新的PHP5.5密码功能的兼容库
- phpass – 一个便携式密码哈希框架
- PHP Password Lib – 一个用于生成和验证密码的库
- Password Policy – 一个PHP和JavaScript的密码规则库
- Password Validator – 验证和升级密码哈希的库
- Zxcvbn PHP – 一个基于Zxcvbn JS的PHP显示密码强度估计库
- GenPhrase – 一个生成安全随机口令的库
代码分析( Code Analysis )
用于分析、解析和操作代码库的工具
- PHP Parser – 一个PHP编写的PHP解析器
- PHPPHP – 一个PHP实现的PHP虚拟机
- PHPSandbox – PHP的沙盒环境
- Dissect – 词法和语法分析的工具集合
- PHP Mess Detector – 一个扫描代码bug、次佳代码和未使用参数的库
- PHP Code Sniffer – 一个检测PHP、CSS和JS代码标准冲突的库
- PHPCPD – 一个检测复制和粘贴代码的库
- PHP Analyser – 一个分析PHP代码中错误的库
- PHP CS Fixer – 一个代码标准库
- 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 错误信息,主要用于开发过程中的调试
结构( Architectural )
有关于设计模式,编程规范以及代码组织方式的库
- PHP Option – 一个PHP选项类型的库
- Ruler – 一个简单的无状态的产生环境规则的引擎
- Finite – 一个简单的PHP有限状态机
- Compose – 一个功能组合库
- Monad PHP – 一个简单Monad库
- Patchwork – 一个重新定义用户的函数库
- Galapagos – 语言转换进化
- Design Patterns PHP – 一个使用PHP实现的设计模式实例库
- Functional PHP – 一个函数式编程库
- Lib Accessor – 一个简化访问的库
- Iter – 一个使用生成器提供迭代原语的库
调试和性能( 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 )
构建导航结构的工具
- KnpMenu – 一个菜单库
- Cartographer – 一个站点地图生成库
资源管理( Asset Management )
用于管理、压缩和最小化网站资源的工具
- Assetic – 一个资源管理的管道库
- Pipe – 另一个资源管理的管道库
- Munee – 一个资源优化库
- JShrink – 一个JavaScript的压缩库
- Puli – 一个检测资源绝对路径的库
地理定位( Geolocation )
使用经纬度编码地址的库
- GeoCoder – 一个地理编码库
- GeoTools – 一个地理工具相关的库
- PHPGeo – 一个简单的地理库
- GeoJSON – 一个GeoJSON的实现
日期与时间( Date and Time )
处理日期和时间的库
- Carbon – 一个简单的日期时间API扩展
- ExpressiveDate – 另一个日期时间API扩展
- CalendR – 一个日历管理的库
事件( Event )
事件驱动或非阻塞事件循环实现的库
- React – 一个事件驱动的非阻塞I/O库
- Rx.PHP – 一个反应扩展库
- phpsocket.io
- Ratchet – 一个Web套接字库
- Hoa WebSocket – 另一个Web套接字库
- Elephant.io – 另一个Web套接字库
- Hoa EventSource – 一个事件源库
- Evenement – 一个事件调度库
- Event – Event package for your app and/or domain.
- Cake Event – 一个事件调度类库
- Broadway – 一个事件源和CQRS库
日志( 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套装的各种文档的处理库
- PHPWord – 处理Word文档的库
- PHPExcel – 处理Excel文档的库
- PHPPowerPoint – 处理PPT幻灯片的库
- ExcelAnt – 操作Excel文档的库
数据库( 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
迁移( Migrations )
用于管理数据库模式和迁移的库
- PHPMig – 一个迁移管理库
- Phinx – 一个数据库迁移管理库
- Migrations – 另一个迁移管理库
- Doctrine Migrations – 用于Doctrine的迁移库
非关系型数据库( NoSQL )
处理NoSQL后端的库
- MongoDB
- mongo-php-library – MongoDB 官方PHP库
- MongoQB – 一个MongoDB的查询构建库
- Monga – 一个MongoDB的抽象库
- mongodm – MongoDB ORM
- php-mongo – PHP ODM for MongoDB
- Redis
队列( Queue )
处理事件和任务队列的库
- Pheanstalk – 一个Beanstalkd客户端库
- PHP AMQP – 一个纯PHP AMQP库
- Thumper – 一个RabbitMQ模式库
- Bernard – 一个多后端的抽象库
- php-resque – 基于redis的消息队列
- Gearman – 任务分发系统
搜索( Search )
在数据中建立索引和执行查询相关的库和软件
- ElasticSearch PHP – 用于 ElasticSearch 的官方客户端库.
- Elastica – 另一个ElasticSearch的客户端库
- Solarium – Solr 的客户端库 .
- SphinxQL query builder – Sphinx 搜索引擎的查询库
命令行( 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
定时任务( Crontab )
定时任务管理 crontab在 PHP 中的相关封装
- Dispatcher – 基于Laravel的定时任务管理
- swoole-crontab – 基于swoole的定时器程序,支持秒级处理
- jobby – 一个 PHP 的定时任务管理器
- cronlingo – Express crontabs as human friendly phrases
身份验证( Authentication and Authorization )
实现身份验证模式的库
- Sentinel – 一个身份验证和授权的框架
- Sentinel Social – 一个用于社交网络身份验证的库
- Opauth – 提供了 OAuth 认证的支持,提供统一标准的访问方法
- OAuth2 Server – 一个OAuth2身份验证服务器、资源服务器和客户端库
- OAuth2 Server – 一个OAuth2服务器实现
- PHP oAuthLib – 另一个OAuth库
- TwitterOAuth – 一个Twitter OAuth库
- TwitterSDK – 一个经过完全测试的Twitter SDK
- Hawk – 一个Hawk HTTP身份验证库
- HybridAuth – 一个开源的社交登录库
- Lock – 一个 Access Control Lists (ACL) 系统库.
- OAuth 1.0 Client – 一个 OAuth 1.0 客户端库.
- OAuth 2.0 Client – 一个 OAuth 2.0 客户端库.
- Sentry – 认证和授权系统
- EvaOAuth – 统一接口的 OAuth 登录 PHP 类库
- JSON Web Token– JSON网络令牌库
- php-jwt
- jwt
- jose – JSON签名和加密的库
- slim-jwt-auth
- jwt-auth
标记( Markup )
处理标记的库
- Decoda – 一个轻量级的标记解析库
- PHP Markdown – Markdown解析器
- CommonMark PHP – 一个支持 CommonMark spec 的Markdown解析器.
- Parsedown – 一个Markdown解析器
- Ciconia – 一个支持Github风格的Markdown解析器
- Cebe Markdown – 一个快速、可扩展的Markdown解析器
- HTML5 PHP – 一个HTML5解析和序列化的库
- Emoji – 一个简单的处理emoji的类库
- php-emoji – 一个emoji表情转换库
字符串( 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 – 检测关于用户的浏览器环境
数字( Numbers )
处理数字的库
- Numbers PHP – 一个处理数字的库
- Math – 处理较大数字的库
- ByteUnits – 一个在二进制和测量系统中解析、格式化和转换字节单位的库
- PHP Units of Measure – 一个测量单位间转换的库
- PHP Conversion – 另一个测量单位间转换的库
- LibPhoneNumber for PHP – PHP实现的Google电话号码处理系统库
- hashids.php – 用来把整数生成唯一字符串(比如:通过加密解密id来隐藏真实id)
过滤和验证( Filtering ang Validation )
用于过滤和验证数据的库
- Filterus – 一个简单的PHP过滤库
- Respect Validation – 一个简单的验证库
- Valitron – 另一个数据验证库
- Cake Validation – 另一个数据验证库
- php-readability – 内容分析算法
- Upload – 一个处理文件上传和验证的库
- DMS Filter – 一个基于标注的过滤库
- MetaYaml – 支持YAML、JSON和XML的一个模式验证库
- ISO-codes – 验证不同ISO和ZIP编码的库
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 )
缓存数据的库
- Alternative PHP Cache (APC) – PHP的开源操作码缓存
- Doctrine Cache – 一个缓存库.
- Zend Cache – 另一个缓存库
- Cake Cache – 一个用于缓存的库
- Stash – 另一个缓存库
- CacheTool – 一个清除APC/opcode缓存的命令行工具
- PhpFastCache – PHP 缓存库
数据结构和存储( Data Structure and Storage )
实现数据结构和存储技术的库
- Ardent – 一个数据结构库
- PHP Collections – 一个简单的集合库
- Serializer – 用于序列化和反序列化数据的库
- Zend Serializer – 另一个用于序列化和反序列化数据的库
- PHP Object Storage – 一个用于对象存储的库
- Fractal – 一个将复杂数据结构转换为JSON输出的库
- Totem – 一个管理和创建数据修改集的库
- PINQ – PHP实时Linq库
- JsonMapper – 一个将内嵌JSON结构映射到PHP类上的库
- Cake Collection – 一个简单的集合库
通知( Notifications )
关于通知的库
- Nod – 一个通知库
- Notificato – 一个处理推送消息的库
- Notification Pusher – 设备推送通知的独立库
- Notificator – 一个轻量级通知库
部署( Deployment )
用于项目部署的库
- Pomander – 一个PHP应用的部署工具
- Rocketeer – PHP的快速和简单部署器
- Envoy – 使用PHP运行SSH任务的工具
- Plum – 一个部署库
- Deployer – 一个部署工具
- walle-web – 一个开源的web代码发布管理系统
国际化和本地化(Internationalisation and Localisation)
用于国际化(I18n)和本地化(L10n)的库
- Aura Intl
- Cake I18n – 翻译和本地化消息
第三方API( Third Party APIs )
访问第三方API的库
- mailgun-php – Mailgun’s Official SDK for PHP
扩展( Extensions )
帮助构建PHP扩展的库
- Zephir – 用于开发PHP扩展的一种在PHP和C++间的编译语言
- PHP CPP – 一个用于开发PHP扩展的C++库
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)
创建沙箱开发环境的软件和工具
- 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
- Netbeans
- Eclipse for PHP Developers
- PhpStorm
Web 应用程序(Web Applications)
基于Web的应用程序和工具
- 3V4L – Online PHP shell
- DBV – 数据库版本控制应用程序
- PHP Queue – 管理队列的后端程序
- MailCatcher – 一个接受和查看邮件的程序
- Cachet – 一个开源的网站状态展示系统(如: status.github.com )
- phpRedisAdmin – Redis 管理工具
- phpPgAdmin – PostgreSQL管理工具
- phpMyAdmin – MySQL管理工具
- rockmongo – MongoDB管理工具
基础设施(Infrastructure)
提供PHP应用程序和服务的基础设施
- appserver.io – 基于PHP的多线程应用程序服务器
其他( 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 浏览器
英文版
A curated list of amazingly awesome PHP libraries, resources and shiny things.
Contributing
Please see CONTRIBUTING and CODE-OF-CONDUCT for details.
Table of Contents
- Awesome PHP
- Dependency Management
- Dependency Management Extras
- Frameworks
- Framework Extras
- Components
- Micro Frameworks
- Micro Framework Extras
- Routers
- Templating
- Static Site Generators
- HTTP
- Middlewares
- URL
- Email
- Files
- Streams
- Dependency Injection
- Imagery
- Testing
- Continuous Integration
- Documentation
- Security
- Passwords
- Code Analysis
- Architectural
- Debugging and Profiling
- Build Tools
- Task Runners
- Navigation
- Asset Management
- Geolocation
- Date and Time
- Event
- Logging
- E-commerce
- PDF
- Office
- Database
- Migrations
- NoSQL
- Queue
- Search
- Command Line
- Authentication and Authorization
- Markup
- Strings
- Numbers
- Filtering and Validation
- API
- Caching
- Data Structure and Storage
- Notifications
- Deployment
- Internationalisation and Localisation
- Third Party APIs
- Extensions
- Miscellaneous
- Software
- PHP Installation
- Development Environment
- Virtual Machines
- Integrated Development Environment
- Web Applications
- Infrastructure
- Resources
- PHP Websites
- Other Websites
- PHP Books
- PHP Videos
- PHP Reading
- PHP Internals Reading
- Contributing
Dependency Management
Libraries for dependency and package management.
- Composer Installers – A multi framework Composer library installer.
- Composer/Packagist – A package and dependency manager.
- Melody – A tool to build one file Composer scripts.
- Pickle – A PHP extension installer.
Dependency Management Extras
Extras related to dependency management.
- Composed – A library to parse your project’s Composer environment at runtime.
- Composer Checker – A tool to validate Composer configurations.
- Composer Merge Plugin – A composer plugin to merge several composer.json files.
- Composition – A library to check your Composer environment at runtime.
- NameSpacer – A library to convert from underscores to namespaces.
- Patch Installer – A library to install patches using Composer.
- Prestissimo – A composer plugin which enables parallel install process.
- Satis – A static Composer repository generator.
- tooly – A library to manage PHAR files in project using Composer.
- Toran Proxy – A static Composer repository and proxy.
Frameworks
Web development frameworks.
- Aura PHP – A framework of independent components.
- CakePHP – A rapid application development framework (CP).
- Laravel 5 – Another PHP framework (L5).
- Nette – Another framework comprised of individual components.
- Phalcon – A framework implemented as a C extension.
- PPI Framework 2 – An interoperability framework.
- Symfony 2 – A framework comprised of individual components (SF2).
- Yii2 – Another PHP framework.
- Zend Framework 2 – Another framework comprised of individual components (ZF2).
- Radar – An Action-Domain-Responder implementation for PHP.
- Ice – Another simple and fast PHP framework delivered as C-extension.
Framework Extras
Extras related to web development frameworks.
- CakePHP CRUD – A Rapid Application Development (RAD) plugin for CakePHP.
- Knp RAD Bundle – A Rapid Application Development (RAD) bundle for Symfony 2.
- Symfony CMF – A Content Management Framework to create custom CMS.
Components
Standalone components from web development frameworks and development groups.
- CakePHP Plugins – A directory of CakePHP plugins.
- Hoa Project – Another package of PHP components.
- League of Extraordinary Packages – A PHP package development group.
- Symfony2 Components – The components that make Symfony 2.
- Zend Framework 2 Components – The components that make Zend Framework.
Micro Frameworks
Micro frameworks and routers.
- Bullet PHP – A micro framework for building REST APIs.
- Lumen – A micro-framework by Laravel.
- Proton – A StackPHP compatible micro framework.
- Silex – A micro framework built around Symfony2 components.
- Slim – Another simple micro framework.
Micro Framework Extras
Extras related to micro frameworks and routers.
- Silex Skeleton – A project skeleton for Silex.
- Silex Web Profiler – A web debug toolbar for Silex.
- Slim Skeleton – A skeleton for Slim.
- Slim View – A collection of custom views for Slim.
Routers
Libraries for handling application routing.
- Fast Route – A fast routing library.
- Klein – A flexible router.
- Pux – Another fast routing library.
- Route – A routing library built on top of Fast Route.
Templating
Libraries and tools for templating and lexing.
- Foil – Another native PHP templating library.
- Lex – A lightweight template parser.
- MtHaml – A PHP implementation of the HAML template language.
- Mustache – A PHP implementation of the Mustache template language.
- Phly Mustache – Another PHP implementation of the Mustache template language.
- PHPTAL – A PHP implementation of the TAL templating language.
- Plates – A native PHP templating library.
- Smarty – A template engine to complement PHP.
- Twig – A comprehensive templating language.
- Tale Jade – A PHP implementation of the Jade template language.
Static Site Generators
Tools for pre-processing content to generate web pages.
- Couscous – Couscous turns Markdown documentation into beautiful websites. It’s GitHub Pages on steroids.
- Phrozn – Another tool that converts Textile, Markdown and Twig into HTML.
- Sculpin – A tool that converts Markdown and Twig into static HTML.
- Spress – An extensible tool that converts Markdown and Twig into HTML.
HTTP
Libraries for working with HTTP.
- Buzz – Another HTTP client.
- Guzzle – A comprehensive HTTP client.
- HTTPFul – A chainable HTTP client.
- PHP VCR – A library for recording and replaying HTTP requests.
- Requests – A simple HTTP library.
- Retrofit – A library to ease creation of REST API clients.
- zend-diactoros – PSR-7 HTTP Message implementation.
Scraping
Libraries for scraping websites.
- Embed – An information extractor from any web service or page.
- Goutte – A simple web scraper.
- PHP Spider – A configurable and extensible PHP web spider.
Middlewares
Libraries for building application using middlewares.
- Expressive – PSR-7 Middleware framework from Zend.
- PSR7-Middlewares – Inspiring collection of handy middlewares.
- Relay – A PHP 5.5 PSR-7 middleware dispatcher.
- Stack – A library of stackable middleware for Silex/Symfony.
- zend-stratigility – Middleware for PHP built on top of PSR-7.
URL
Libraries for parsing URLs.
- PHP Domain Parser – A domain suffix parser library.
- Purl – A URL manipulation library.
- sabre/uri – A functional URI manipulation library.
- Uri – Another URL manipulation library.
Email
Libraries for sending and parsing email.
- CssToInlineStyles – A library to inline CSS in email templates.
- Email Reply Parser – An email reply parser library.
- Email Validator – A small email address validation library.
- Fetch – An IMAP library.
- Mautic – Email marketing automation
- PHPMailer – Another mailer solution.
- Stampie – A library for email services such as SendGrid, PostMark, MailGun and Mandrill.
- SwiftMailer – A mailer solution.
Files
Libraries for file manipulation and MIME type detection.
- Apache MIME Types – A library that parses Apache MIME types.
- Canal – A library to determine internet media types.
- CSV – A CSV data manipulation library.
- Ferret – A MIME detection library.
- Flysystem – Another filesystem abstraction layer.
- Gaufrette – A filesystem abstraction layer.
- Hoa Mime – Another MIME detection library.
- Lurker – A resource tracking library.
- PHP FFmpeg – A wrapper for the FFmpeg video library.
Streams
Libraries for working with streams.
- Streamer – A simple object-orientated stream wrapper library.
Dependency Injection
Libraries that implement the dependency injection design pattern.
- Acclimate – A common interface to dependency injection containers and service locators.
- Auryn – A recursive dependency injector.
- Container – Another flexible dependency injection container.
- PHP-DI – A dependency injection container that supports autowiring.
- Pimple – A tiny dependency injection container.
- Symfony DI – A dependency injection container component (SF2).
Imagery
Libraries for manipulating images.
- Color Extractor – A library for extracting colours from images.
- GIF Creator – A library to create GIF animations from multiple images.
- GIF Frame Extractor – A library to extract GIF animation frame information.
- Glide – An on-demand image manipulation library.
- Image Hash – A library for generating perceptual image hashes.
- Image Optimizer – A library for optimizing images.
- Image With Text – A library for embedding text into images.
- Imagine – An image manipulation library.
- Intervention Image – Another image manipulation library.
- PHP Image Workshop – Another image manipulation library.
Testing
Libraries for testing codebases and generating test data.
- Alice – An expressive fixture generation library.
- AspectMock – A mocking framework for PHPUnit/Codeception.
- Atoum – A simple testing library.
- Behat – A behaviour driven development (BDD) testing framework.
- Codeception – A full stack testing framework.
- DBUnit – A database testing library for PHPUnit.
- Faker – A fake data generator library.
- HTTP Mock – A library for mocking HTTP requests in unit tests.
- Kahlan – Full stack Unit/BDD testing framework with built-in stub, mock and code-coverage support.
- Mink – Web acceptance testing.
- Mockery – A mock object library for testing.
- ParaTest – A parallel testing library for PHPUnit.
- Peridot – An event driven test framework.
- Phake – Another mock object library for testing.
- Pho – Another behaviour driven development testing framework.
- PHP-Mock – A mock library for built-in PHP functions (e.g. time()).
- PHPSpec – A design by specification unit testing library.
- PHPT – A test tool used by PHP itself.
- PHPUnit – A unit testing framework.
- Prophecy – A highly opinionated mocking framework.
- Samsui – Another fake data generator library.
- VFS Stream – A virtual filesystem stream wrapper for testing.
- VFS – Another virtual filesystem for testing.
Continuous Integration
Libraries and applications for continuous integration.
- CircleCI – A continuous integration platform.
- GitlabCi – Let GitLab CI test, build, deploy your code. TravisCi like.
- Jenkins – A continous integration platform with PHP support.
- JoliCi – A continuous integration client written in PHP and powered by Docker.
- PHPCI – An open source continuous integration platform for PHP.
- SemaphoreCI – A continuous integration platform for open source and private projects.
- Shippable – A docker based continious integration platform for open source and private projects.
- Sismo – A continuous testing server library.
- Travis CI – A continuous integration platform.
- Wercker – A continuous integration platform
Documentation
Libraries for generating project documentation.
- APIGen – Another API documentation generator.
- daux.io – A documentation generator which uses Markdown files.
- PHP Documentor 2 – A documentation generator.
- phpDox – A documentation generator for PHP projects (that is not limited to API documentation).
- Sami – An API documentation generator.
Security
Libraries for generating secure random numbers, encrypting data and scanning for vulnerabilities.
- Halite – A simple library for encryption using libsodium.
- HTML Purifier – A standards compliant HTML filter.
- IniScan – A tool that scans PHP INI files for security.
- Optimus – Id obfuscation based on Knuth’s multiplicative hashing method.
- PHP Encryption – Secure PHP Encryption Library.
- PHP IDS – A structured PHP security layer.
- PHP SSH – An experimental object orientated SSH wrapper library.
- PHPSecLib – A pure PHP secure communications library.
- RandomLib – A library for generating random numbers and strings.
- SecurityMultiTool – A PHP security library.
- SensioLabs Security Check – A web tool to check your Composer dependencies for security advisories.
- TCrypto – A simple encrypted key-value storage library.
- True Random – A library that generates random numbers using www.random.org.
- VAddy – A continuous security testing platform for web applications.
- Zed – An integrated penetration testing tool for web applications.
Passwords
Libraries and tools for working with and storing passwords.
- GenPhrase – A library for generating secure random passphrases.
- Password Compat – A compatibility library for the new PHP 5.5 password functions.
- Password Policy – A password policy library for PHP and JavaScript.
- Password Validator – A library for validating and upgrading password hashes.
- Password-Generator – PHP library to generate random passwords.
- PHP Password Lib – A library for generating and validating passwords.
- phpass – A portable password hashing framework.
- Zxcvbn PHP – A realistic PHP password strength estimate library based on Zxcvbn JS.
Code Analysis
Libraries and tools for analysing, parsing and manipulating codebases.
- Athletic – An annotation based benchmark framework.
- Code Climate – An automated code review.
- Dissect – A set of tools for lexical and syntactical analysis.
- Exakat – A static analysis engine for PHP.
- GrumPHP – A composer plugin to defend code quality.
- Mondrian – A code analysis tool using Graph Theory.
- PHP Analyser – A library for analysing PHP code to find bugs and errors.
- PHP Code Sniffer – A library that detects PHP, CSS and JS coding standard violations.
- PHP CS Fixer – A coding standards fixer library.
- PHP Manipulator – A library for analysing and modifying PHP Source Code.
- PHP Mess Detector – A library that scans code for bugs, sub-optimal code, unused parameters and more.
- PHP Metrics – A static metric library.
- PHP Migration – A static analyzer for PHP version migration.
- PHP Parser – A PHP parser written in PHP.
- PHP Refactoring Browser – A command line utility for refactoring PHP code.
- PHP Semantic Versioning Checker – A command line utility that compares two source sets and determines the appropriate semantic versioning to apply.
- phan – A static analyzer based on PHP 7+ and the php-ast extension.
- PHPCheckstyle – A tool to help adhere to certain coding conventions.
- PHPCPD – A library that detects copied and pasted code.
- PhpDependencyAnalysis – A tool to create customisable dependency graphs.
- PHPLOC – A tool for quickly measuring the size of a PHP project.
- PHPQA – A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).
- PHPPHP – A PHP VM implementation in PHP.
- PHPSandbox – A PHP sandbox environment.
- Qafoo Quality Analyzer – A tool to visualize metrics and source code.
- Scrutinizer – A web tool to scrutinise PHP code.
- UBench – A simple micro benchmark library.
Architectural
Libraries related to design patterns, programming approaches and ways to organize code.
- Compose – A function composition library.
- Design Patterns PHP – A repository of software patterns implemented in PHP.
- Finite – A simple PHP finite state machine.
- Functional PHP – A functional programming library.
- Galapagos – Evolutionary language transformation.
- Iter – A library that provides iteration primitives using generators.
- Monad PHP – A simple Monad library.
- Patchwork – A library for redefining userland functions.
- PHP Option – An option type library.
- Pipeline – A pipeline pattern implementation.
- Ruler – A simple stateless production rules engine.
- RulerZ – A powerful rule engine and implementation of the Specification pattern.
Debugging and Profiling
Libraries and tools for debugging and profiling code.
- APM – Monitoring extension collecting errors and statistics into SQLite/MySQL/StatsD.
- Barbushin PHP Console – Another web debugging console using Google Chrome.
- Blackfire.io – A low-overhead code profiler.
- Kint – A debugging and profiling tool.
- PHP Console – A web debugging console.
- PHP Debug Bar – A debugging toolbar.
- PHPBench – A benchmarking Framework.
- PHPDBG – An interactive PHP debugger.
- Tideways.io – Monitoring and profiling tool
- Tracy – A simple error detection, logging and time measuring library.
- xDebug – A debug and profile tool for PHP.
- XHProf – A profiling tool originally developed by Facebook.
- Z-Ray – A debug and profile tool for Zend Server.
Build Tools
Project build and automation tools.
- Bob – A simple project automation tool.
- Box – A utility to build PHAR files.
- Construct – A PHP project/micro-package generator.
- Phake – A rake PHP clone library.
- Phing – A PHP project build system inspired by Apache Ant.
Task Runners
Libraries for automating and running tasks.
- Bldr – A PHP Task runner built on Symfony components.
- Jobby – A PHP cron job manager without modifying crontab.
- Robo – A PHP Task runner with object-orientated configurations.
- Task – A pure PHP task runner inspired by Grunt and Gulp.
Navigation
Tools for building navigation structures.
- Cartographer – A sitemap generation library.
- KnpMenu – A menu library.
Asset Management
Tools for managing, compressing and minifying website assets.
- Assetic – An asset manager pipeline library.
- JShrink – A JavaScript minifier library.
- Munee – An asset optimiser library.
- Pipe – Another asset manager pipeline library.
- Puli – A library for determining assets absolute paths.
- BowerPHP – A PHP implementation of Bower. A package manager for the web
Geolocation
Libraries for geocoding addresses and working with latitudes and longitudes.
- GeoCoder – A geocoding library.
- GeoJSON – A GeoJSON implementation.
- GeoTools – A library of geo-related tools.
- PHPGeo – A simple geo library.
Date and Time
Libraries for working with dates and times.
- CalendR – A calendar management library.
- Carbon – A simple DateTime API extension.
- Chronos – A DateTime API extension supporting both mutable and immutable date/time.
- ExpressiveDate – Another DateTime API extension.
- Moment.php – Moment.js inspired PHP DateTime handler with i18n support.
Event
Libraries that are event-driven or implement non-blocking event loops.
- Amp – An event driven non-blocking I/O library.
- Broadway – An event source and CQRS library.
- Cake Event – An event dispatcher library (CP).
- Elephant.io – Yet another web socket library.
- Evenement – An event dispatcher library.
- Event – An event library with a focus on domain events.
- Hoa EventSource – An event source library.
- Hoa WebSocket – Another web socket library.
- Icicle – An asynchronous library with coroutines, non-blocking I/O, and multithreading.
- Prooph Event Store – An event source component to persist event messages
- Ratchet – A web socket library.
- React – An event driven non-blocking I/O library.
- Rx.PHP – A reactive extension library.
- Workerman – An event driven non-blocking I/O library.
Logging
Libraries for generating and working with log files.
- Analog – A closure-based micro logging package.
- KLogger – An easy-to-use PSR-3 compliant logging class.
- Monolog – A comprehensive logger.
E-commerce
Libraries and applications for taking payments and building online e-commerce stores.
- Money – A PHP implementation of Fowler’s money pattern.
- OmniPay – A framework agnostic multi-gateway payment processing library.
- Payum – A payment abstraction library.
- Shopware – Highly customizable e-commerce software
- Swap – An exchange rates library.
- Sylius – An open source e-commerce solution.
PDF
Libraries and software for working with PDF files.
- Dompdf – A HTML to PDF converter.
- PHPPdf – A library for generating PDFs and images from XML.
- Snappy – A PDF and image generation library.
- WKHTMLToPDF – A tool to convert HTML to PDF.
Office
Libraries for working with office suite documents.
- ExcelAnt – A library for manipulating Microsoft Excel documents.
- PHPExcel – A library for working with Microsoft Excel documents.
- PHPPowerPoint – A library for working with Microsoft PowerPoint Presentations.
- PHPWord – A library for working with Microsoft Word documents.
Database
Libraries for interacting with databases using object-relational mapping (ORM) or datamapping techniques.
- Baum – A nested set implementation for Eloquent.
- Cake ORM – Object-Relational Mapper, implemented using the DataMapper pattern (CP).
- Doctrine Extensions – A collection of Doctrine behavioural extensions.
- Doctrine – A comprehensive DBAL and ORM.
- Eloquent – A simple ORM (L5).
- LazyRecord – A fast ORM designed for simplicity, extendability and performance.
- Pomm – An Object Model Manager for PostgreSQL.
- Propel – A fast ORM, migration library and query builder.
- ProxyManager – A set of utilities to generate proxy objects for data mappers.
- RedBean – A lightweight, configuration-less ORM.
- Spot2 – A MySQL datamapper ORM.