100个常用的 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扩展的框架

组件( Components )

微框架( 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 - 一个轻量级模板解析器

静态站生成器( Static Site Generators )

生成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请求的库

中间件( Middlewares )

用于构建应用的类库的中间件

URL

解析URL的库

邮件( Email )

用于发送和解析Email的库

文件操作( Files )

关于文件处理和MIME类型检查

流( Stream )

处理流的库

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

依赖注入( Dependency Injection )

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

  • Pimple - 一个小的依赖注入容器
  • Auryn - 另一个小的依赖注入容器
  • Container - 另一个灵活的依赖注入容器
  • PHP DI - 一个使用标注实现的依赖注入
  • Acclimate - 依赖注入容器和服务定位器的通用接口
  • Symfony DI - 一个的依赖注入组件(SF2)

图像( 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 - 一个事件驱动的测试框架

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

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

密码( Passwords )

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

代码分析( Code Analysis )

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

结构( Architectural )

有关于设计模式,编程规范以及代码组织方式的库

调试和性能( Debugging and Profiling )

调试代码的库和工具

  • xDebug - 一个PHP的调试和分析工具
  • PHP Debug Bar - 一个调试工具条
  • PHP Console - Web调试控制台
  • Barbushin PHP Console - 一个使用Google Chrome的Web调试控制工具
  • PHPDBG - 一个交互性的PHP调试器
  • Tracy - 一个简单的错误检测、日志和时间测量库
  • Z-Ray - 一个调试和性能分析的工具
  • xHprof - Facebook开源的PHP性能评测工具
  • 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 )

构建导航结构的工具

资源管理( Asset Management )

用于管理、压缩和最小化网站资源的工具

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

地理定位( Geolocation )

使用经纬度编码地址的库

日期与时间( Date and Time )

处理日期和时间的库

事件( Event )

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

日志( Logging )

用于生成和处理日志文件的库

  • Monolog - 一个综合的日志类库
  • KLogger - 一个易于使用的PSR-3日志类
  • Analog - 一个机遇闭包的微型日志包

电子商务( E-commerce )

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

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

PDF

处理PDF文件的库和软件

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

Office

Office套装的各种文档的处理库

数据库( Database )

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

  • Doctrine - 一个完整的DBAL和ORM
  • Doctrine Extensions - 一个Doctrine行为的扩展集合
  • Propel - 一个快速的ORM,迁移和查询库
  • Eloquent - Laravel 5 ORM(L5)
  • Baum - 一个Eloquent的嵌套集合
  • Spot2 - MySQL的ORM映射器
  • RedBean - 一个轻量级、易配置的ORM
  • Pomm - 用于PostgreSQL的一个对象模型管理器
  • ProxyManager - 用于数据映射生成代理对象的工具集合
  • Cake ORM - 对象关系映射器, 实现了使用数据映射模式(CP)
  • Medoo - 一个轻量级的加速开发的ORM

迁移( Migrations )

用于管理数据库模式和迁移的库

非关系型数据库( NoSQL )

处理NoSQL后端的库

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

队列( Queue )

处理事件和任务队列的库

搜索( Search )

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

命令行( Command Line )

构建命令行工具的库

身份验证( Authentication and Authorization )

实现身份验证模式的库

标记( Markup )

处理标记的库

字符串( 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 )

处理数字的库

过滤和验证( 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 - [最佳实践]数据返回的统一化处理

缓存( Caching )

缓存数据的库

数据结构和存储( Data Structure and Storage )

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

通知( Notifications )

关于通知的库

部署( Deployment )

用于项目部署的库

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

国际化和本地化(Internationalisation and Localisation)

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

第三方API( Third Party APIs )

访问第三方API的库

扩展( Extensions )

帮助构建PHP扩展的库

  • Zephir - 用于开发PHP扩展的一种在PHP和C++间的编译语言
  • PHP CPP - 一个用于开发PHP扩展的C++库

其他( Miscellaneous )

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

  • pinyin - 汉字转拼音的库
  • Pinyin - 汉字转拼音的库
  • class.upload.php - 文件上传处理类
  • php-paginator - 分页处理类
  • Underscore.php - Underscore.js的PHP实现
  • Flexihash - 一致性hash库
  • Eden - 一个PHP快速开发类库,它包含很多组件用来自动加载、事件驱动、文档系统、缓存、模板、国际化、数据库、web服务、支付网关、装载和云服务技术。
  • html-parser - html解析工具
  • PHPCrawl - PHP的爬虫框架
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342

推荐阅读更多精彩内容

  • Awesome PHP 一个PHP资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库、配置工具、W...
    guanguans阅读 5,744评论 0 47
  • Composer Repositories Composer源 Firegento - Magento模块Comp...
    零一间阅读 3,956评论 1 66
  • ziadoz在 Github发起维护的一个PHP资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库...
    Gundy_阅读 6,278评论 4 192
  • 昨晚太困了,打开想写些什么的,发现不知道写什么,然后就忘记了,哈哈哈,今天的图片还是比较少,只有两张。 第一张:有...
    Miso来了阅读 128评论 0 0
  • 今天有幸在第四军医大学聆了听施旺红教授关于“森田疗法”的讲座,受益匪浅! 原来施教授的“森田疗法”与此疗法的创始人...
    杨栎颖阅读 3,959评论 1 8