[转]100个常用的 PHP 类库、资源和技巧小结

作者: wxfeng 分类: php 发布时间: 2018-11-29 00:00    阅读 1,070 次

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

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 )

微型框架和路由

  • Silex – 基于Symphony2组件的微型框架

  • Slim – 另一个简单的微型框架

  • 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 – 另一款将Textile、Markdown和Twig转为HTML的工具

HTTP

用于HTTP和抓取网站的库

  • Guzzle – 一个完整的HTTP客户端

  • Buzz – 另一个HTTP客户端

  • Requests – 一个简单的HTTP库

  • HTTPFul – 一个链式HTTP客户端

  • Goutte – 一个简单的Web抓取器

  • PHP VCR – 一个录制和回放HTTP请求的库

中间件( Middlewares )

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

URL

解析URL的库

  • Purl – 一个URL操作库

  • PHP Domain Parser – 一个本地的后缀解析器

  • Uri – 一个简单的URL操作库

邮件( Email )

用于发送和解析Email的库

文件操作( 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 )

处理流的库

  • 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 )

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

  • 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的调试和分析工具

  • 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 )

使用经纬度编码地址的库

  • GeoCoder – 一个地理编码库

  • GeoTools – 一个地理工具相关的库

  • PHPGeo – 一个简单的地理库

  • GeoJSON – 一个GeoJSON的实现

日期与时间( Date and Time )

处理日期和时间的库

  • Carbon – 一个简单的日期时间API扩展

  • ExpressiveDate – 另一个日期时间API扩展

  • CalendR – 一个日历管理的库

事件( 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 )

构建命令行工具的库

  • 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

身份验证( 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 类库

标记( 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 )

处理数字的库

  • Numbers PHP – 一个处理数字的库

  • Math – 处理较大数字的库

  • ByteUnits – 一个在二进制和测量系统中解析、格式化和转换字节单位的库

  • PHP Units of Measure – 一个测量单位间转换的库

  • PHP Conversion – 另一个测量单位间转换的库

  • LibPhoneNumber for PHP – PHP实现的Google电话号码处理系统库

  • hashids.php – 用来把整数生成唯一字符串(比如:通过加密解密id来隐藏真实id)

过滤和验证( 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 )

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

  • Ardent – 一个数据结构库

  • PHP Collections – 一个简单的集合库

  • Serializer – 用于序列化和反序列化数据的库

  • Zend Serializer – 另一个用于序列化和反序列化数据的库

  • PHP Object Storage – 一个用于对象存储的库

  • Fractal – 一个将复杂数据结构转换为JSON输出的库

  • Totem – 一个管理和创建数据修改集的库

  • PINQ – PHP实时Linq库

  • JsonMapper – 一个将内嵌JSON结构映射到PHP类上的库

  • Cake Collection – 一个简单的集合库

通知( 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的爬虫框架

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

您的电子邮箱地址不会被公开。