PHP 怎么PHP必备包

wen PHP项目 2

本文目录导读:

PHP 怎么PHP必备包

  1. 必装的 PHP 扩展(底层驱动)
  2. 核心 Composer 包(按使用频率排序)
  3. 重量级框架必备
  4. 开发调试扩展(提高效率)
  5. 最小化必备清单(建议项目初始化必装)
  6. 📊 总结建议

这里说的“必备包”通常指两种:Composer 包(第三方库)或PHP 扩展(底层功能)。

由于 PHP 开发高度依赖 Composer 生态,我将重点推荐最常用、最核心的 Composer 包(同时也列出必装的 PHP 扩展)。


必装的 PHP 扩展(底层驱动)

这些不是 Composer 包,而是 PHP 运行时的基础,需在 php.ini 中启用:

  1. openssl:HTTPS、RSA 加密、JWT 签名的基础。
  2. pdo_mysql:数据库访问的核心驱动(PDO 扩展本身也需要)。
  3. mbstring:多字节字符串处理,处理中文、UTF-8 必须开启。
  4. json:PHP 内置,但 7.x 以后作为独立扩展,几乎所有 API 都要用。
  5. curl:发起 HTTP 请求(调用第三方 API)必备。
  6. fileinfo:上传文件时识别 MIME 类型(Laravel 验证 image 需要)。
  7. zip:打包发布、Excel 导入导出需要。

核心 Composer 包(按使用频率排序)

这些是 PHP 开发者几乎必装 的第三方库:

通用工具类(最刚需)

  • nesbot/carbon:日期时间处理神器,极大地简化了时间加减、格式化、时区转换,所有框架都用它。
  • ramsey/uuid:生成唯一 ID,用于分布式系统、订单号、文件命名。
  • vlucas/phpdotenv:读取 .env 文件,把密码、密钥放进环境变量,而不是写在代码里(Laravel/ThinkPHP 内置)。
  • symfony/var-dumper:增强版的 var_dump()print_r(),用于调试打印变量,输出格式漂亮且能折叠。

HTTP 客户端(发请求)

  • guzzlehttp/guzzle:PHP 事实标准的 HTTP 客户端,支持并发异步、重试、Cookie、各种认证,所有 SDK(阿里云、微信支付)底层都用它。

数据库与查询构建

  • doctrine/dbal:数据库抽象层,主要用来基于 PDO 实现跨数据库迁移,Laravel 的 migrate 依赖它。
  • topthink/think-orm:独立 TP 的 ORM,轻量级,适合非框架项目直接使用。

安全防护(安全管理)

  • paragonie/sodium_compat:PHP 7.2 以下老版本的安全加密库,新版可忽略。
  • symfony/polyfill-php80:兼容老版本 PHP 的语法补丁包(通常自动安装)。

重量级框架必备

如果你使用主流的 LaravelSymfony,以下包是核心依赖,不过通常框架已经预装了:

  • illuminate/support:Laravel 的基础工具包(集合类、Arr、Str 辅助函数)。
  • phpoffice/phpspreadsheet:虽然不算“必备”但绝对是在线 Excel/CSV 导入导出首选,90% 的后台管理系统需要它。
  • guzzlehttp/guzzle:处理外部 API 调用。
  • brick/math:安全整型处理,处理金额结算时防止浮点误差,Laravel Cashier(订阅支付)依赖它。

开发调试扩展(提高效率)

  • laravel/telescopebarryvdh/laravel-debugbar:调试 SQL 查询和请求日志神器。
  • symfony/stopwatch:代码性能分析计时器。

最小化必备清单(建议项目初始化必装)

如果你现在要新建一个空的 PHP 项目(不使用框架),建议最优先安装这 4 个:

composer require nesbot/carbon           # 日期
composer require vlucas/phpdotenv        # 环境变量
composer require guzzlehttp/guzzle       # HTTP请求
composer require ramsey/uuid             # 唯一ID

注意:如果使用 Laravel/ThinkPHP,上述大部分包框架已经带了,只需按需额外安装业务相关的(如 Excel、支付 SDK、验证码等)。


📊 总结建议

  • 如果你用的是 Laravel:核心包都在 composer.lock 里,无需操心,缺什么装什么即可(如 intervention/image 处理图片)。
  • 如果你用原生 PHP 或小型框架:上面的 4 件套 + 安全过滤(htmlpurifier/htmlpurifier)就是最强组合。

laminas/laminas-diactoros(PSR-7 HTTP 消息)如果你要兼容各种框架协议也可以考虑,但大部分人在用框架时代不需要直接装。

最后提醒:不是装得多就好,装多了项目会变臃肿且拖慢加载速度,建议按需引入,最核心缺不了的其实就是 PDO + OpenSSL + MBSTRING 这几个扩展。

抱歉,评论功能暂时关闭!