Awesome PHP

一个PHP资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库、配置工具、Web 工具、书籍、电子书、经典博文等等。

内容一部分来自github的项目awesome-php-zh_CN,一部分来自自己的收集和整理。

贡献

详细内容请查看贡献代码管理.

目录

Composer包 Composer Repositories

Composer包

依赖管理 Dependency Management

依赖和包管理库

其他的依赖管理 Dependency Management Extras

其他的相关依赖管理

  • Composed - 一个在运行时解析你项目Composer环境的库
  • Composer Checker - 一个校验Composer配置的工具
  • Composer Merge Plugin - 一个用于合并多个composer.json文件的Composer插件
  • Composition - 一个在运行时检查Composer环境的库
  • NameSpacer - 一个转化下划线到命名空间的库
  • Patch Installer - 一个使用Composer安装补丁的库
  • Prestissimo - 一个开启并行安装进程的Composer插件
  • Satis - 一个静态Composer存储库的生成器
  • tooly - 一个在项目中使用Composer管理PHAR文件的库
  • Toran Proxy - 一个静态Composer存储库和代理

框架 Frameworks

Web开发框架

  • Aura PHP - 一个独立的组件框架
  • CakePHP - 一个快速应用程序开发框架 (CP)
  • Laravel 5 - 另一个PHP框架 (L5)
  • Nette - 另一个由个体组件组成的框架
  • Phalcon - 通过C扩展实现的框架
  • PPI Framework 2 - 一个互操作性框架
  • Symfony - 一个独立组件组成的框架 (SF)
  • Yii2 - 另一个PHP框架
  • Zend Framework 2 - 另一个由独立组件组成的框架 (ZF2)
  • Radar - 一个基于PHP的Action-Domain-Responder实现
  • Ice - 另一个通过C扩展实现的简单快速的PHP框架

其他框架 Framework Extras

其他Web开发框架

框架组件 Components

来自web开发框架的独立组件

微型框架 Micro Frameworks

微型框架和路由

  • Bullet PHP - 用于构建REST APIs的微型框架
  • Lumen - 一个Laravel的微型框架
  • Proton - 一个StackPHP兼容的微型框架
  • Silex - 基于Symfony2组件的微型框架
  • Slim - 另一个简单的微型框架

其他微型框架 Micro Framework Extras

其他相关的微型框架和路由

路由 Routers

处理应用路由的库

  • Fast Route - 一个快速路由的库
  • Klein - 一个灵活的路由的库
  • Pux - 另一个快速路由的库
  • Route - 一个基于Fast Route的路由的库

模板 Templating

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

  • Foil - 另一个原生PHP模板库
  • Lex - 一个轻量级模板解析器
  • MtHaml - 一个HAML模板语言的PHP实现
  • Mustache - 一个Mustache模板语言的PHP实现
  • Phly Mustache - 另一个Mustache模板语言的PHP实现
  • PHPTAL - 一个TAL模板语言的PHP实现
  • Plates - 一个原生PHP模板库
  • Smarty - 一个模板引擎
  • Twig - 一个全面的模板语言
  • Tale Jade - Jade模版语言的PHP实现

静态站点生成器 Static Site Generators

用来生成web页面的预处理内容的工具

  • Couscous - 一个将Markdown转化为漂亮的网站的工具
  • Phrozn - 另一个转换Textile,Markdown和Twig为HTML的工具
  • Sculpin - 转换Markdown和Twig为静态HTML的工具
  • Spress - 一个能够将Markdown和Twig转化为HTML的可扩展工具

超文本传输协议 HTTP

用于HTTP的库

  • Buzz - 另一个HTTP客户端
  • Guzzle - 一个全面的HTTP客户端
  • HTTPFul - 一个链式HTTP库
  • PHP VCR - 一个录制和重放HTTP请求的库
  • Requests - 一个简单的HTTP库
  • Retrofit - 一个能轻松创建REST API客户端的库
  • zend-diactoros - PSR-7 HTTP消息实现

爬虫 Scraping

用于网站爬取的库

  • Embed - 一个从web服务或网页中提取的信息的工具
  • Goutte - 一个简单的web爬取器
  • PHP Spider - 一个可配置和可扩展的PHP web爬虫

中间件 Middlewares

使用中间件构建应用程序的库

  • Expressive - 基于PSR-7的Zend中间件
  • PSR7-Middlewares - 灵感来源于方便的中间件
  • Relay - 一个PHP 5.5 PSR-7的中间件调度器
  • Stack - 一个用于Silex/Symfony的可堆叠的中间件的库
  • zend-stratigility - 基于PHP PSR-7之上的中间件之上

网址 URL

解析URL的库

电子邮件 Email

发送和解析邮件的库

文件 Files

文件处理和MIME类型检测的库

流 Streams

处理流的库

  • Streamer - 一个简单的面向对象的流包装库

依赖注入 Dependency Injection

实现依赖注入设计模式的库

  • Acclimate - 一个依赖注入容器和服务定位的通用接口
  • Auryn - 一个递归的依赖注入容器
  • Container - 另一个可伸缩的依赖注入容器
  • Disco - 一个兼容PSR-11基于annotation的依赖注入容器
  • PHP-DI - 一个支持自动装配和PHP配置的依赖注入容器
  • Pimple - 一个小的依赖注入容器
  • Symfony DI - 一个依赖注入容器组件 (SF2)

图像 Imagery

处理图像的库

测试 Testing

测试代码和生成测试数据的库

  • Alice - 富有表现力的一代库
  • AspectMock - 一个PHPUnit/Codeception的模拟框架。
  • Atoum - 一个简单的测试库
  • Behat - 一个行为驱动开发(BDD)测试框架
  • Codeception - 一个全栈测试框架
  • DBUnit - 一个PHPUnit的数据库测试库
  • Faker - 一个伪数据生成库
  • HTTP Mock - 一个在单元测试模拟HTTP请求的库
  • Kahlan - 全栈Unit/BDD测试框架,内置stub,mock和代码覆盖率的支持
  • Mink - Web验收测试
  • Mockery - 一个用于测试的模拟对象的库
  • ParaTest - 一个PHPUnit的并行测试库
  • Peridot - 一个事件驱动开发的测试框架
  • Phake - 另一个用于测试的模拟对象的库
  • Pho - 另一个行为驱动开发测试框架
  • PHP-Mock - 一个基于PHP函数的模拟库
  • PHPSpec - 一个基于功能点设计的单元测试库
  • PHPT - 一个使用PHP本身的测试工具
  • PHPUnit - 一个单元测试框架
  • Prophecy - 一个可选度很高的模拟框架
  • Samsui - 另一个伪数据生成库
  • VFS Stream - 一个用于测试的虚拟文件系统流的包装器
  • VFS - 另一个用于测试虚拟的文件系统

持续集成 Continuous Integration

持续集成的库和应用

  • CircleCI - 一个持续集成平台
  • GitlabCi - 使用GitLab CI测试、构建、部署你的代码,像TravisCI
  • Jenkins - 一个PHP支持的持续集成平台
  • JoliCi - 一个用PHP编写的由Docker支持的持续集成的客户端
  • PHPCI - 一个PHP的开源的持续集成平台
  • SemaphoreCI - 一个开放源码和私人项目的持续集成平台
  • Shippable - 一个基于开源和私人项目持续集成平台的docker
  • Sismo - 一个持续测试的服务库
  • Travis CI - 一个持续集成平台
  • Wercker - 一个持续集成平台

文档 Documentation

生成项目文档的库

  • APIGen - 另一个API文档生成器
  • daux.io - 一个使用Markdown文件的文档生成器
  • PHP Documentor 2 - 一个API文档生成器
  • phpDox - 一个PHP项目的文档生成器(不限于API文档)
  • Sami - 一个API文档生成器

安全 Security

生成安全的随机数,加密数据,扫描漏洞的库

密码 Passwords

处理和存储密码的库和工具

代码分析 Code Analysis

分析,解析和处理代码库的库和工具

Architectural

相关的设计模式库,组织代码编程的方法和途径

  • Compose - 一个功能组合库
  • Design Patterns PHP - 一个使用PHP实现的设计模式存储库
  • Finite - 一个简单的PHP有限状态机
  • Functional PHP - 一个函数式编程库
  • Galapagos - 语言转换进化
  • Iter - 一个使用生成器提供迭代原语的库
  • Monad PHP - 一个简单Monad库
  • Patchwork - 一个重新定义用户的函数库
  • PHP Option - 一个可选的类型库
  • Pipeline - 一个管道模式的实现
  • Ruler - 一个简单的无状态的生产环境规则引擎
  • RulerZ - 一个强大的规则引擎和规范模式的实现

调试和分析 Debugging and Profiling

调试和分析代码的库和工具

  • APM - 一个收集SQLite/MySQL/StatsD错误信息和统计信息的监控扩展
  • Barbushin PHP Console - 另一个使用Google Chrome的web调试控制台
  • Blackfire.io - 一个低开销的代码分析器
  • Kint - 一个调试和分析工具
  • PHP Console - 一个web调试控制台
  • PHP Debug Bar - 一个调试工具栏
  • PHPBench - 一个基准测试框架
  • PHPDBG - 一个交互的PHP调试器
  • Tideways.io - Monitoring and profiling tool
  • Tracy - A一个简单的错误检测,写日志和时间测量库
  • xDebug - 一个调试和分析PHP的工具
  • XHProf - 一个最初由Facebook开发的分析工具
  • Z-Ray - 一个调试和配置Zend服务器的工具

构建工具 Build Tools

项目构建和自动化工具

  • Bob - 一个简单的项目自动化工具
  • Box - 一个构建PHAR文件的工具
  • Construct - 一个PHP项目的生成器
  • Phake - 一个PHP克隆库
  • Phing - 一个灵感来自于Apache Ant的PHP项目构建系统

任务运行器 Task Runners

自动运行任务的库

  • Bldr - 一个构建在Symfony组件上的PHP任务运行器
  • Jobby - 一个没有修改crontab的PHP定时任务管理器
  • Robo - 一个面向对象配置的PHP任务运行器
  • Task - 一个灵感来源于Grunt和Gulp的纯PHP任务运行器

导航 Navigation

构建导航结构的工具

资源管理 Asset Management

管理,压缩和最小化web站点资源的工具

  • JShrink - 一个JavaScript的最小化库
  • Munee - 一个资源优化库
  • Puli - 一个检测资源绝对路径的库
  • BowerPHP - Bower的一个PHP实现,一个web包管理工具

地理位置 Geolocation

地理编码地址和使用纬度经度的库

日期和时间 Date and Time

处理日期和时间的库

  • CalendR - 一个日历管理库
  • Carbon - 一个简单的日期时间API扩展
  • Chronos - 一个支持可变和不可变日期时间的DateTime API扩展
  • ExpressiveDate - 另一个日期时间API扩展
  • Moment.php - 灵感来源于Moment.js的PHP DateTime处理库,支持国际化
  • Yasumi - 一个帮助你计算节日日期和名称的库

事件 Event

时间驱动或实现非阻塞事件循环的库

日志 Logging

生成和处理日志文件的库

  • Analog - 一个基于闭包的微型日志包
  • KLogger - 一个易用的兼容PSR-3的日志类
  • Monolog - 一个全面的日志工具

电子商务 E-commerce

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

  • Money - 一个Fowler金钱模式的PHP实现
  • OmniPay - 一个框架混合了多网关支付处理的库
  • Payum - 一个支付抽象库
  • Shopware - 一个可高度定制的电子商务软件
  • Swap - 一个汇率库
  • Sylius - 一个开源的电子商务解决方案

PDF

处理PDF文件的库和软件

  • Dompdf - 一个将HTML转换为PDF的工具
  • PHPPdf - 一个将XML文件转换为PDF和图片的库
  • Snappy - 一个PDF和图像生成器库
  • WKHTMLToPDF - 一个将HTML转换为PDF的工具

办公 Office

Libraries for working with office suite documents.

数据库 Database

使用对象关系映射(ORM)或数据映射技术的数据库交互的库

  • Baum - 一个Eloquent的嵌套集实现
  • Cake ORM - 对象关系映射工具,利用DataMapper模式实现 (CP)
  • Doctrine Extensions - 一个Doctrine行为扩展的集合
  • Doctrine - 一个全面的DBAL和ORM
  • Eloquent - 一个简单的ORM(L5)
  • LazyRecord - 一个简单、可扩展、高性能的ORM
  • Pomm - 一个PostgreSQL对象模型管理器
  • Propel - 一个快速的ORM,迁移库和查询构架器
  • ProxyManager - 一个为数据映射生成代理对象的工具集
  • RedBean - 一个轻量级,低配置的ORM
  • Spot2 - 一个MySQL的ORM映射器

迁移 Migrations

帮助管理数据库模式和迁移的库

  • Doctrine Migrations - 一个Doctrine的迁移库
  • Migrations - 一个迁移管理库
  • Phinx - 另一个数据库迁移的管理库
  • PHPMig - 另一个迁移管理库
  • Ruckusing - 基于PHP下ActiveRecord的数据库迁移,支持MySQL, Postgres, SQLite

NoSQL NoSQL

处理NoSQL后端的库

  • Monga - 一个MongoDB抽象库
  • MongoQB - 一个MongoDB查询构建库
  • PHPMongo - 一个MongoDB ORM.
  • Predis - 一个功能完整的Redis库

队列 Queue

处理事件和任务队列的库

搜索 Search

在数据上索引和执行查询的库和软件

命令行 Command Line

关于命令行工具的库

  • Boris - 一个微型PHP REPL
  • Cilex - 一个构建命令行工具的微型框架
  • CLI Menu - 一个构建CLI菜单的库
  • CLIFramework - 一个支持完全zsh/bash、子命令和选项约束的命令行框架,这也归功于phpbrew
  • CLImate - 一个输出带颜色的和特殊格式的命令行库
  • Commando - 另一个简单的命令行选择解析器
  • Cron Expression - 一个计算cron运行日期的库
  • GetOpt - 一个命令行选择解析器
  • GetOptionKit - 另一个命令行选择解析器
  • Hoa Console - 另一个命令行库
  • OptParse - 另一个命令行选择解析器
  • Pecan - 一个事件驱动和非阻塞的shell
  • PsySH - 另一个PHP REPL
  • ShellWrap - -一个简单的命令行包装库

身份验证和授权 Authentication and Authorization

实现身份验证和授权的库

标记 Markup

处理标记的库

字符串 Strings

解析和处理字符串的库

  • Agent - 一个基于Mobiledetect的桌面/手机端user agent解析库
  • ANSI to HTML5 - 一个将ANSI转化为HTML5的库
  • Color Jizz - 处理和转换颜色的库
  • Device Detector - 另一个解析user agent字符串的库
  • Hoa String - 另一个UTF-8字符串库
  • Jieba-PHP - Python的jieba的PHP端口,自然语言处理的中文文本分词
  • Mobile-Detect - 一个用于检测移动设备的轻量级PHP类(包括平板电脑)
  • Patchwork UTF-8 - 一个处理UTF-8字符串的便携库
  • Slugify - 转换字符串到slug的库
  • SQL Formatter - 一个格式化SQL语句的库
  • Stringy - 一个多字节支持的字符串处理库
  • Text - 一个文本处理库
  • UA Parser - 一个解析user agent字符串的库
  • URLify - 一个Django中URLify.js的PHP版本
  • UUID - 生成UUIDs的库

数字 Numbers

处理数字的库

过滤和验证 Filtering and Validation

过滤和验证数据的库

接口 API

开发REST-ful API的库和web工具

  • API Platform - 暴露出REST API的项目,包含JSON-LD, Hydra格式
  • Apigility - 一个使用Zend Framework 2构建的API构建器
  • Drest - 一个将Doctrine实体暴露为REST资源节点的库
  • HAL - 一个超文本应用语言(HAL)构建库
  • Hateoas - 一个HOATEOAS REST web服务库
  • Negotiation - 一个内容协商库
  • Restler - 一个将PHP方法暴露为RESTful web API的轻量级框架
  • wsdl2phpgenerator - 一个从SOAP WSDL文件生成PHP类的工具

缓存 Caching

缓存数据的库

数据结构和存储 Data Structure and Storage

实现数据结构和存储技术的库

  • Ardent - 一个数据结构库
  • Cake Collection - 一个简单的集合库 (CP)
  • Collections - 一个PHP的集合抽象库
  • Fractal - 一个转换复杂数据结构到JSON输出的库
  • Ginq - 另一个基于.NET实现的PHP的LINQ库
  • JsonMapper - 一个将内嵌JSON结构映射为PHP类的库
  • Knapsack - 一个集合的库,灵感来自Clojure的相关库
  • PHP Collections - 一个简单的集合库
  • PINQ - 一个基于.NET实现的PHP的LINQ(Language Integrated Query)库
  • Porter - 数据导入的抽象框架
  • Serializer - 一个序列化和反序列化数据的库
  • Totem - -一个管理和创建数据交换集的库
  • YaLinqo - 另一个PHP的LINQ库
  • Zend Serializer - 另一个序列化和反序列化数据的库 (ZF2)

通知 Notifications

处理通知软件的库

  • JoliNotif - 一个跨平台的桌面通知库(支持Growl, notify-send, toaster等)
  • Nod - 一个通知库(Growl等)
  • Notification Pusher - 一个设备推送通知的独立库
  • Notificato - 一个处理推送通知的库
  • Notificator - 一个轻量级的通知库
  • Php-pushwoosh - 一个使用Pushwoosh REST Web服务轻松推送通知的PHP库

部署 Deployment

项目部署库

  • Deployer - 一个部署工具
  • Envoy - 一个用PHP运行SSH任务的工具
  • Plum - 一个部署库
  • Pomander - 一个PHP应用部署工具
  • Rocketeer - PHP世界里的一个快速简单的部署器

国际化和本地化 Internationalisation and Localisation

国际化(I18n)和本地化(L10n)的库

  • Cake I18n - 消息国际化和日期和数字的本地化 (CP)

第三方API Third Party APIs

访问第三方API的库

扩展 Extensions

帮助构建PHP扩展的库

  • PHP CPP - 一个开发PHP扩展的C++库
  • Zephir - 用于开发PHP扩展,且介于PHP和C++之间的编译语言

杂项 Miscellaneous

创建一个开发环境的软件

PHP安装 PHP Installation

在你的电脑上帮助安装和管理PHP的工具

开发环境 Development Environment

创建沙盒开发环境的软件和工具

  • Ansible - 一个非常简单的编制框架
  • Phansible - 一个用Ansible构建PHP开发虚拟机的web工具
  • Protobox - 另一个构建PHP开发虚拟机的web工具
  • PuPHPet - 一个构建PHP开发虚拟机的web工具
  • Puppet - 一个服务器自动化框架和应用
  • Vagrant - 一个便携的开发环境工具
  • Docker - 一个容器化的平台

虚拟机 Virtual Machines

相关的PHP虚拟机

  • Hack - 一个PHP进行无缝操作的HHVM编程语言
  • HHVM - Facebook出品的PHP虚拟机,Runtime和JIT
  • HippyVM - 另一个PHP虚拟机

集成开发环境(IDE) Integrated Development Environment

支持PHP的集成开发环境

Web应用 Web Applications

基于Web的应用和工具

  • 3V4L - 一个在线的PHP和HHVM shell
  • DBV - 一个数据库版本控制应用
  • PHP Queue - A一个管理后端队列的应用
  • MailCatcher - 一个抓取和查看邮件的web工具
  • Cachet - 开源状态页面系统
  • phpBeanstalkdAdmin - 一个Beanstalkd的监控管理页面
  • phpRedisAdmin - 一个用于管理Redis数据库的简单web界面
  • phpPgAdmin - 一个PostgreSQL的web管理工具
  • phpMyAdmin - 一个MySQL/MariaDB的web界面
  • Adminer - 一个数据库管理工具
  • Grav - 一个现代的flat-file的CMS

基础架构 Infrastructure

提供PHP应用和服务的基础架构

  • appserver.io - 一个用PHP写的多线程的PHP应用服务器
  • php-pm - 一个PHP应用的进程管理器、修改器和负载平衡器

PHP网站 PHP Websites

PHP相关的有用的网站

其他网站 Other Websites

web开发相关的有用网站

PHP书籍 PHP Books

PHP相关的非常好的书籍

其他书籍 Other Books

与一般计算和web开发相关的书

PHP视频 PHP Videos

PHP相关的非常不错的视频

PHP播客 PHP Podcasts

专注于PHP话题的博客

  • PHP Town Hall - 一个随意的Ben Edmunds和Phil Sturgeon的PHP播客
  • PHP Roundtable - PHP Roundtable是一个讨论PHP开发者关心话题的临时聚会

PHP阅读 PHP Reading

PHP相关的阅读资料

PHP内核阅读 PHP Internals Reading

阅读PHP内核或性能相关的资料

PHP杂志 PHP Magazines

有趣的PHP相关的杂志