Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md
composer.json
readme_n.md
readme_n1.md

README.md

awesome-php

收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中迅速的查找所需...


学习资源

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 框架
  • php-msf - Camera360开源的微服务框架
  • Biny - Biny是一款高性能的超轻量级PHP框架
  • Swoft Framework - 基于Swoole原生协程,新时代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 )

模板和词法分析的库与工具

  • 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和抓取网站的库

  • Guzzle - 一个完整的HTTP客户端
  • Buzz - 另一个HTTP客户端
  • Requests - 一个简单的HTTP库
  • HTTPFul - 一个链式HTTP客户端
  • Goutte - 一个简单的Web抓取器
  • PHP VCR - 一个录制和回放HTTP请求的库
  • php-curl-class - PHP的Curl类
  • Beanbun - 多进程网络爬虫框架
  • php-mod/curl - PHP Curl Class
  • CORS - PHP CORS (Cross-origin resource sharing) middleware.

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文档)
  • swagger-php - A php swagger annotation and parsing library

安全( Security )

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

密码( Passwords )

处理和存储密码的库和工具、各种编码的库

  • Password Compat - 一个用于新的PHP5.5密码功能的兼容库
  • phpass - 一个便携式密码哈希框架
  • PHP Password Lib - 一个用于生成和验证密码的库
  • Password Policy - 一个PHP和JavaScript的密码规则库
  • Password Validator - 验证和升级密码哈希的库
  • Zxcvbn PHP - 一个基于Zxcvbn JS的PHP显示密码强度估计库
  • GenPhrase - 一个生成安全随机口令的库
  • base62 - base62编码库(短网址应用)
  • base58php - base58编码库(Bitcoin中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址)
  • base85 - base85编码库(在base64的基础上进一步压缩数据量,应用于Adobe的PostScript语言和PDF文档格式)

代码分析( Code Analysis )

用于分析、解析和操作代码库的工具

  • PHP Parser - 一个PHP编写的PHP解析器
  • PHPPHP - 一个PHP实现的PHP虚拟机
  • PHPSandbox - PHP的沙盒环境
  • Dissect - 词法和语法分析的工具集合
  • PHP Mess Detector - 一个扫描代码bug、次佳代码和未使用参数的库
  • PHP Code Sniffer - 一个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扩展)

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

用于支付和构建在线电子商务商店的库和应用

PDF

处理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.
  • EasyDB - 数据库抽象层

迁移( 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 )

构建命令行工具的库

定时任务( Crontab )

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

  • Dispatcher - 基于Laravel的定时任务管理
  • swoole-crontab - 基于swoole的定时器程序,支持秒级处理
  • jobby - 一个 PHP 的定时任务管理器
  • cronlingo - Express crontabs as human friendly phrases

身份验证( Authentication and Authorization )

实现身份验证模式的库

标记( Markup )

处理标记的库

字符串( Strings )

解析和操纵字符串的库

  • Agent - A PHP desktop/mobile user agent parser, based on Mobiledetect.
  • 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的库

  • mailgun-php - Mailgun's Official SDK for PHP
  • wechat - 让微信开发更简单
  • Qiniu/sdk - Qiniu Resource Storage SDK for PHP
  • Qiniu/qshell - qshell是利用七牛文档上公开的API实现的一个方便开发者测试和使用七牛API服务的命令行工具。
  • Wafer - 快速构建具备弹性能力的微信小程序
  • GeoIP2-php - MaxMind GeoIP2 地理位置服务
  • pingpp-php - ping++聚合支付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 )

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

  • 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 机器学习库
  • BotMan - 聊天机器人库
You can’t perform that action at this time.