PHP资源汇总大全

一个偏实用的 PHP 资源导航,适合 PHP 后端开发、接口开发、Web 项目、企业系统、Composer 包管理和日常工程化参考。

PHP 资源汇总封面

目录

贡献

详细内容请查看贡献

如果你想维护自己的资源列表,建议按以下原则整理:

  • 资源名称尽量使用官方名称。
  • 链接优先使用 GitHub、官网或官方文档。
  • 每条资源后面用一句话说明用途。
  • 不建议把已经长期不维护的库放到核心推荐区域。
  • 可以按“入门、常用、进阶、企业级”分层整理。

依赖管理 Dependency Management

依赖和包管理库

其他的依赖管理 Dependency Management Extras

依赖管理相关工具和实践

框架 Frameworks

Web 开发框架和应用框架

  • Laravel - 优雅、生态完整的现代 PHP Web 框架。
  • Symfony - 企业级 PHP 框架和组件集合。
  • Yii - 高性能 PHP 框架,适合中后台系统。
  • CodeIgniter - 轻量级 PHP 框架,入门简单。
  • CakePHP - 约定优于配置的 PHP 框架。
  • Hyperf - 基于 Swoole 的高性能协程框架。
  • ThinkPHP - 国内使用较多的 PHP 框架。
  • Yaf - PHP 扩展形式的高性能框架,适合性能敏感项目。

微框架 Micro Frameworks

轻量级接口服务框架

  • Slim - 适合快速构建 REST API 的微框架。
  • Lumen - Laravel 官方微框架,适合轻量接口服务。
  • Flight - 简单、快速的小型 PHP 框架。
  • Mezzio - 基于 PSR 标准的中间件框架。

模板 Template Engines

模板引擎和视图渲染工具

  • Twig - Symfony 生态常用模板引擎。
  • Blade - Laravel 内置模板引擎。
  • Smarty - 经典 PHP 模板引擎。
  • Plates - 原生 PHP 风格模板系统。

数据库 Database

数据库抽象、ORM 和迁移工具

缓存 Cache

缓存、队列和高性能数据访问工具

日志 Logging

日志记录和日志分析工具

  • Monolog - PHP 最常用的日志库之一。
  • Analog - 简单灵活的 PHP 日志库。
  • KLogger - PSR-3 兼容的轻量日志库。
  • Graylog - 集中化日志管理平台。
  • ELK Stack - Elasticsearch、Logstash、Kibana 组成的日志分析方案。

HTTP 客户端 HTTP Clients

请求接口、调用第三方服务常用工具

  • Guzzle - 功能强大的 PHP HTTP 客户端。
  • Symfony HttpClient - Symfony 官方 HTTP 客户端。
  • Requests - WordPress 生态使用的 HTTP 请求库。
  • Buzz - 轻量 HTTP 客户端。

安全 Security

安全、加密、权限和防护工具

代码质量 Code Quality

静态分析、代码规范和重构辅助工具

  • PHPStan - PHP 静态分析工具。
  • Psalm - 静态分析和类型检查工具。
  • PHP_CodeSniffer - PHP 代码规范检查工具。
  • PHP CS Fixer - 自动修复 PHP 代码风格。
  • Rector - PHP 自动化重构和版本升级工具。
  • Deptrac - 检查项目分层依赖是否合理。

测试 Testing

单元测试、接口测试和行为测试工具

  • PHPUnit - PHP 单元测试事实标准。
  • Pest - 语法更简洁的 PHP 测试框架。
  • Codeception - 支持单元测试、功能测试和验收测试。
  • Behat - BDD 行为驱动测试框架。
  • Mockery - Mock 对象测试库。
  • FakerPHP - 生成测试假数据。

配置 Configuration

配置文件、环境变量和参数管理工具

Web 工具 Web Tools

Web 调试、接口、队列和后台工具

书籍 Books

PHP 和 Web 开发相关书籍

经典博文 Classic Posts

值得长期阅读的文章和教程

示例代码 Example Code

安装 Composer 依赖

composer init
composer require monolog/monolog vlucas/phpdotenv guzzlehttp/guzzle

一个简单的日志示例

<?php

require __DIR__ . '/vendor/autoload.php';

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

// 创建日志对象
$logger = new Logger('app');

// 日志写入到 storage/app.log
$logger->pushHandler(new StreamHandler(__DIR__ . '/storage/app.log', Logger::DEBUG));

// 记录不同级别的日志
$logger->info('用户登录成功', [
    'user_id' => 1001,
    'ip' => $_SERVER['REMOTE_ADDR'] ?? '127.0.0.1',
]);

$logger->warning('接口响应较慢', [
    'api' => '/api/order/list',
    'cost_ms' => 1380,
]);

$logger->error('数据库连接失败', [
    'host' => '127.0.0.1',
    'database' => 'demo',
]);

一个简单的 Guzzle 请求示例

<?php

require __DIR__ . '/vendor/autoload.php';

use GuzzleHttp\Client;

$client = new Client([
    'timeout' => 10,
]);

$response = $client->get('https://api.github.com/repos/php/php-src');

$data = json_decode((string) $response->getBody(), true);

echo '项目名称:' . $data['full_name'] . PHP_EOL;
echo 'Star 数:' . $data['stargazers_count'] . PHP_EOL;

推荐的项目目录结构

project/
├── app/
│   ├── Controller/
│   ├── Service/
│   ├── Model/
│   └── Middleware/
├── config/
│   ├── app.php
│   └── database.php
├── public/
│   └── index.php
├── routes/
│   └── web.php
├── storage/
│   ├── logs/
│   └── cache/
├── tests/
├── vendor/
├── .env
├── composer.json
└── README.md

资源维护建议

  • 每 1 到 3 个月检查一次链接是否失效。
  • 给资源加上“推荐指数”或“适合场景”,方便团队选择。
  • 企业项目优先选择维护活跃、文档完整、生态成熟的库。
  • 对生产系统使用的依赖,建议配合安全扫描和版本锁定。
  • 新项目优先使用 Composer、PSR 标准、自动化测试和静态分析工具。