README.md 47 KB

PHP 资源大全中文版

我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-php 就是 ziadoz 发起维护的 PHP 资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库、配置工具、Web 工具、书籍、电子书、经典博文等。

Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大。这也是我们发起这个开源项目的初衷。


我们要做什么?


如何参与本项目?

从下面的目录来看,本项目的工作量小不了,所以非常期待能有更多程序员一起来参与。

不过加入前,有几个小要求:

  • 英文还不错,能读懂英文并用自己的话复述;
  • 有 PHP 开发经验;

如有兴趣,请加 QQ:50872495。加 Q 时请注明「PHP大全」


本项目的参与者

注:名单不分排名,不定期补充更新


奖励计划

虽然奖励可能并不是你加入的主要原因,但还是有必要提一下:

  • 整理超过 20 个资源后,可在伯乐在线上开通打赏;
  • 每整理 20 个资源,有机会获得技术书籍或各种有意思的创意、极客产品;
  • 奖励详情

依赖管理

依赖和包管理库

其他的依赖管理

其他的相关依赖管理

框架

Web开发框架

其他框架

其他Web开发框架

框架组件

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

微型框架

微型框架和路由

  • Silex:基于Symfony2组件的微型框架
  • Slim:另一个简单的微型框架
  • Bullet PHP:用于构建REST APIs的微型框架
  • Fast Route:快速路由库
  • Pux:另一个快速路由库

其他微型框架

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

模板

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

  • Twig:一个全面的模板语言
  • Twig Cache Extension:一个用于Twig的模板片段缓存库
  • Mustache:一个Mustache模板语言的PHP实现
  • Phly Mustache:另一个Mustache模板语言的PHP实现
  • MtHaml: 一个HAML 模板语言的PHP实现
  • PHPTAL:一个 TAL 模板语言的PHP实现
  • Plates:一个原生PHP模板库
  • Lex:一个轻量级模板解析器

静态站点生成器

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

  • Sculpin:转换Markdown和Twig为静态HTML的工具
  • Phrozn: 另一个转换Textile,Markdown和Twig为HTML的工具

HTTP

用于HTTP和网站爬取的库

  • Guzzle:一个全面的HTTP客户端
  • Buzz:另一个HTTP客户端
  • Requests:一个简单的HTTP库
  • HTTPFul:一个链式HTTP库
  • Goutte:一个简单的web爬取器
  • PHP VCR:录制和重放HTTP请求的库

URL

解析URL的库

Email

发送和解析邮件的库

文件

文件处理和MIME类型检测库

处理流的库

  • Streamer:一个面向对象的流包装库

依赖注入

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

  • Pimple:一个小的依赖注入容器
  • Auryn:另一个依赖注入容器
  • Orno Di:另一个可伸缩的依赖注入容器
  • PHP DI:一个使用注释实现的依赖注入
  • Acclimate:一个依赖注入容器和服务定位的通用接口

图像

处理图像的库

测试

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

  • 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编写的现代加载测试库

持续集成

持续集成的库和应用

  • Travis CI:一个持续集成平台
  • PHPCI:一个PHP的开源持续集成平台
  • Sismo:一个持续测试服务库
  • Jenkins一个 PHP 支持的持续集成平台
  • JoliCi:一个用PHP编写的由Docker支持的持续集成客户端

文档

生成项目文档的库

  • Sami:一个API文档生成器
  • APIGen:另一个API文档生成器
  • PHP Documentor 2:一个API文档生成器
  • phpDox:一个PHP项目的文档生成器(不限于API文档)

安全

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

密码

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

代码分析

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

调试

调试代码的库和工具

构建工具

项目构建和自动化工具

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

任务运行器

自动运行任务的库

  • Task:一个灵感来源于Grunt和Gulp的纯PHP任务运行器
  • Robo:一个面向对象配置的PHP任务运行器
  • Bldr:一个构建在Symfony组件上的PHP任务运行器

导航

构建导航结构的工具

资源管理

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

  • Assetic:一个资源管理的管道库
  • Pipe:另一个资源管理的管道库
  • Munee:一个资源优化库
  • JShrink:一个JavaScript最小化库
  • Puli:一个检测资源绝对路径的库

地理位置

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

  • GeoCoder:一个地理编码库
  • GeoTools:一个地理工具相关的库
  • PHPGeo:一个简单的地理库
  • GeoJSON:一个地理JSON的实现

日期和时间

处理日期和时间的库

事件

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

日志

生成和处理日志文件的库

  • Monolog:一个全面的日志工具
  • KLogger:一个易用的PSR-3兼容的日志类

电子商务

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

  • OmniPay:一个框架混合了多网关支付处理的库
  • Payum:一个支付抽象库
  • Sylius:一个开源的电子商务解决方案
  • Thelia:另一个开源的电子商务解决方案
  • Money:一个Fowler金钱模式的PHP实现
  • Sebastian Money:另一个处理货币值的库
  • Swap:一个汇率库

PDF

处理PDF文件的库和软件

  • Snappy:一个PDF和图像生成器库
  • WKHTMLToPDF:一个将HTML转换为PDF的工具

数据库

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

  • Doctrine:一个全面的DBAL和ORM
  • Doctrine Extensions:一个Doctrine行为扩展的集合
  • Propel:一个快速的ORM,迁移库和查询构架器
  • Eloquent:Laravel 4 ORM
  • Baum:一个Eloquent的嵌套集实现
  • Spot2:一个MySQL的ORM映射器
  • RedBean:一个轻量级,低配置的ORM
  • Pomm:一个PostgreSQL对象模型管理器
  • ProxyManager:一个为数据映射生成代理对象的工具集

迁移

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

NoSQL

处理NoSQL后端的库

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

队列

处理事件和任务队列的库

搜索

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

命令行

构建命令行工具的库

  • Boris:一个微型PHP REPL
  • PsySH:另一个微型PHP REPL
  • Pecan:一个事件驱动和非阻塞内核
  • GetOpt:一个命令行选择解析器
  • OptParse:另一个命令行选择解析器
  • Commando:另一个简单的命令行选择解析器
  • GetOptionKit:另一个命令行选择解析器
  • Cron Expression:计算cron运行日期的库
  • ShellWrap:一个简单的命令行包装库
  • Hoa Console:另一个命令行库
  • Shunt:一个在多台远程机器上并行运行命令行的库
  • Cilex:一个构建命令行工具的微型框架

身份验证

实现身份验证的库

  • Sentry:一个混合的身份验证和授权的框架库
  • Sentry Social:一个社交网络身份验证库
  • Opauth:一个多渠道的身份验证框架
  • OAuth2:一个OAuth2身份验证服务,资源服务器和客户端库
  • OAuth2 Server:另一个OAuth2服务器实现
  • PHP oAuthLib:另一个OAuth库
  • TwitterOAuth:一个Twitter OAuth库
  • TwitterSDK:一个完全测试的Twitter SDK
  • Hawk:一个Hawk HTTP身份认证库
  • HybridAuth:一个开源的社交登陆库

标记

处理标记的库

字符串

解析和处理字符串的库

数字

处理数字的库

过滤和验证

过滤和验证数据的库

  • Filterus:一个简单的PHP过滤库
  • Respect Validate:一个简单的验证库
  • Valitron:另一个验证库
  • Upload:一个处理文件上传和验证的库
  • DMS Filter:一个注释过滤库
  • MetaYaml:一个支持YAML,JSON和XML的模式验证库
  • ISO-codes:验证各种ISO和ZIP编码的库(IBAN, SWIFT/BIC, BBAN, VAT, SSN, UKNIN)

 REST API

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

  • Apigility:一个使用Zend Framework 2构建的API构建器
  • Hateoas:一个HOATEOAS REST web服务库
  • HAL:一个超文本应用语言(HAL)构建库
  • Negotiation:一个内容协商库
  • Drest:一个将Doctrine实体暴露为REST资源节点的库
  • Restler:一个将PHP方法暴露为RESTful web API的轻量级框架

缓存

缓存数据的库

数据结构和存储

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

  • Ardent:一个数据结构库
  • PHP Collections: 一个简单的集合库
  • Serializer:一个序列化和反序列化数据的库
  • PHP Object Storage:一个对象存储库
  • Fractal:一个转换复杂数据结构到JSON输出的库
  • Totem:一个管理和穿件数据交换集的库
  • PINQ:一个PHP实时Linq库
  • JsonMapper:一个将内嵌JSON结构映射为PHP类的库

通知

处理通知软件的库

部署

项目部署库

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

国际化和本地化

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

第三方API

访问第三方API的库

扩展

帮组构建PHP扩展的库

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

杂项

不在上面分类中的有用库和工具

软件

创建一个开发环境的软件

PHP安装

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

开发环境

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

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

虚拟机

相关的PHP虚拟机

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

IDE

支持PHP的集成开发环境

Web应用

基于Web的应用和工具

  • 3V4L一个在线的PHP shell
  • DBV:一个数据库版本控制应用
  • PHP Queue:一个管理后端队列的应用
  • Composer as a Service:作为一个zip文件下载Composer包的工具
  • MailCatcher:一个抓取和查看邮件的web工具

资源

各种提高你的PHP开发技能和知识的资源,比如书籍,网站,文章

PHP网站

PHP相关的有用网站

其他网站

Web开发相关的有用网站

PHP书籍

PHP相关的非常好的书籍

其他书籍

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

PHP视频

PHP相关的非常不错的视频

PHP阅读

PHP相关的阅读资料

PHP内核阅读

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

微信公众号

  • PHP开发者:专注分享 PHP 开发相关的技术文章和工具资源