欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-23 09:06:34
...
收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中迅速的查找所需...

学习资源

PHP相关的有参考价值的社区,博客,网站,文章,书籍,视频等资源

  • PHP网站(PHP Websites)

    • PHP The Right Way 一个PHP实践的快速参考指导
  • PHP书籍(PHP Books)

    • Modern PHP - 作者是PHP 之道的发起人和Slim框架的作者
      • Modern PHP(中文版)

依赖管理( Dependency Management )

用于依赖管理的包和框架

  • Composer / Packagist - 一个包和依赖管理器.
  • Composer Installers - 一个多框架Composer库安装器
  • pickle - PHP扩展安装器
  • Melody - A tool to build one file Composer scripts.

框架( 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

组件( Components )

  • Aura Components - 一个PHP5.4的组件包
  • Hoa Project - 一个PHP组件集合

微框架( Micro Frameworks )

微型框架和路由

  • Silex - 基于Symphony2组件的微型框架
    • Silex Skeleton - 用于Silex的项目框架
    • Silex Web Profiler - 用于Silex的Web调试工具条
  • Slim - 另一个简单的微型框架
    • Slim Skeleton - 用于Slim的框架
    • Slim View - Slim的自定义视图集
    • Slim Middleware - Slim的自定义中间件集合
    • SlimMVC-Skeleton - Slim基础上实现了MVC及一些组件
  • 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的库

  • SwiftMailer - 一个邮件程序的解决方案
  • PHPMailer - 另一个邮件程序的解决方案
  • Fetch - 一个IMAP库
  • Email Reply Parser - 一个邮件回复解析器库
  • Stampie - 关于邮件服务的库,比如SendGrid、PostMark、MailGun和Mandrill
  • CssToInlineStyles - 邮件模板中一个内联的CSS库
  • Email Validator - 一个小巧的邮箱验证库

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

处理图像的库

  • Imagine - 一个图像处理库
  • PHP Image Workshop - 另一个图像处理库
  • Intervention Image - 同样还是一个图像处理库
  • GIF Frame Extractor - 一个提取GIF动画帧信息的库
  • GIF Creator - 从多幅图片中创建GIF动画的库
  • Image With Text - 在图像中嵌入文本的库
  • Color Extractor - 从图像中提取颜色的库
  • Glide - 一个按需的图片处理库
  • Image Optimizer - 一个优化图片的库
  • PHPThumb - 缩略图处理库

测试( 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 )

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

  • HTML Purifier - 一个标准的HTML过滤器
  • RandomLib - 生成随机数和随机字符串的库
  • True Random - 使用www.random.org生成随机数的库
  • SecurityMultiTool - 一个PHP安全库
  • PHPSecLib - 一个纯的PHP安全通信库
  • TCrypto - 一个简单的键值加密存储库
  • PHP IDS - 一个结构化的PHP安全层
  • PHP SSH - 面向对象的SSH包装库
  • IniScan - 一个扫描PHP INI文件安全的工具
  • SensioLabs Security Check - 一个根据安全建议检查Composer依赖的Web工具
  • Zed - 用于Web应用的集成渗透测试工具
  • php-jwt( JSON Web Token ) - JSON网络令牌库
  • jose - JSON签名和加密的库

密码( Passwords )

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

  • Password Compat - 一个用于新的PHP5.5密码功能的兼容库
  • phpass - 一个便携式密码哈希框架
  • PHP Password Lib - 一个用于生成和验证密码的库
  • Password Policy - 一个PHP和JavaScript的密码规则库
  • Password Validator - 验证和升级密码哈希的库
  • Zxcvbn PHP - 一个基于Zxcvbn JS的PHP显示密码强度估计库
  • GenPhrase - 一个生成安全随机口令的库

代码分析( Code Analysis )

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

  • PHP Parser - 一个PHP编写的PHP解析器
  • PHPPHP - 一个PHP实现的PHP虚拟机
  • PHPSandbox - PHP的沙盒环境
  • Dissect - 词法和语法分析的工具集合
  • PHP Mess Detector - 一个扫描代码bug、次佳代码和未使用参数的库
  • PHP Code Sniffer - 一个检测PHP、CSS和JS代码标准冲突的库
  • PHPCPD - 一个检测复制和粘贴代码的库
  • PHP Analyser - 一个分析PHP代码中错误的库
  • PHP CS Fixer - 一个代码标准库
  • PHP Manipulator - 用于分析和修改PHP源代码的库
  • PHP Metrics - 一个静态测量库
  • PHP Refactoring Browser - 一个用于重构PHP代码的命令行工具
  • UBench - 一个简单的小型基准测试库
  • Athletic - 一个基于标注的基准测试库
  • Mondrian - 使用图论的代码分析工具
  • Scrutinizer - 检查PHP代码的Web工具
  • PHPLOC - 一个快速评估PHP项目大小的工具
  • PHPCheckstyle - 一个帮助遵守特定代码规则的工具
  • PhpDependencyAnalysis - 一个创建可定制型依赖关系图表的工具
  • Code Climate - 自动化的code review
  • PHP Error - 用于转换标准的 PHP 错误信息,主要用于开发过程中的调试

结构( 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 )

构建导航结构的工具

  • KnpMenu - 一个菜单库
  • Cartographer - 一个站点地图生成库

资源管理( Asset Management )

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

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

地理定位( Geolocation )

使用经纬度编码地址的库

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

日期与时间( Date and Time )

处理日期和时间的库

  • Carbon - 一个简单的日期时间API扩展
  • ExpressiveDate - 另一个日期时间API扩展
  • CalendR - 一个日历管理的库

事件( Event )

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

  • React - 一个事件驱动的非阻塞I/O库
  • Rx.PHP - 一个反应扩展库
  • Ratchet - 一个Web套接字库
  • Hoa WebSocket - 另一个Web套接字库
  • Elephant.io - 另一个Web套接字库
  • Hoa EventSource - 一个事件源库
  • Evenement - 一个事件调度库
  • Event - Event package for your app and/or domain.
  • Cake Event - 一个事件调度类库
  • Broadway - 一个事件源和CQRS库

日志( 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套装的各种文档的处理库

  • PHPWord - 处理Word文档的库
  • PHPExcel - 处理Excel文档的库
  • PHPPowerPoint - 处理PPT幻灯片的库
  • ExcelAnt - 操作Excel文档的库

数据库( 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 )

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

  • PHPMig - 一个迁移管理库
  • Phinx - 一个数据库迁移管理库
  • Migrations - 另一个迁移管理库
  • Doctrine Migrations - 用于Doctrine的迁移库

非关系型数据库( NoSQL )

处理NoSQL后端的库

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

队列( Queue )

处理事件和任务队列的库

  • Pheanstalk - 一个Beanstalkd客户端库
  • PHP AMQP - 一个纯PHP AMQP库
  • Thumper - 一个RabbitMQ模式库
  • Bernard - 一个多后端的抽象库
  • php-resque - 基于redis的消息队列
  • Gearman - 任务分发系统

搜索( Search )

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

  • ElasticSearch PHP - 用于 ElasticSearch 的官方客户端库.
  • Elastica - 另一个ElasticSearch的客户端库
  • Solarium - Solr 的客户端库 .
  • SphinxQL query builder - Sphinx 搜索引擎的查询库

命令行( 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 )

处理标记的库

  • Decoda - 一个轻量级的标记解析库
  • PHP Markdown - Markdown解析器
  • CommonMark PHP - 一个支持 CommonMark spec 的Markdown解析器.
  • Parsedown - 一个Markdown解析器
  • Ciconia - 一个支持Github风格的Markdown解析器
  • Cebe Markdown - 一个快速、可扩展的Markdown解析器
  • HTML5 PHP - 一个HTML5解析和序列化的库
  • Emoji - 一个简单的处理emoji的类库

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

用于过滤和验证数据的库

  • Filterus - 一个简单的PHP过滤库
  • Respect Validation - 一个简单的验证库
  • Valitron - 另一个数据验证库
  • Cake Validation - 另一个数据验证库
  • php-readability - 内容分析算法
  • Upload - 一个处理文件上传和验证的库
  • DMS Filter - 一个基于标注的过滤库
  • MetaYaml - 支持YAML、JSON和XML的一个模式验证库
  • ISO-codes - 验证不同ISO和ZIP编码的库

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 )

缓存数据的库

  • Alternative PHP Cache (APC) - PHP的开源操作码缓存
  • Doctrine Cache - 一个缓存库.
  • Zend Cache - 另一个缓存库
  • Cake Cache - 一个用于缓存的库
  • Stash - 另一个缓存库
  • CacheTool - 一个清除APC/opcode缓存的命令行工具
  • PhpFastCache - PHP 缓存库

数据结构和存储( 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 )

关于通知的库

  • Nod - 一个通知库
  • Notificato - 一个处理推送消息的库
  • Notification Pusher - 设备推送通知的独立库
  • Notificator - 一个轻量级通知库

部署( Deployment )

用于项目部署的库

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

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

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

  • Aura Intl
  • Cake I18n - 翻译和本地化消息

第三方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的爬虫框架
相关标签: php建站技巧