PHPackages                             phpframe-project/phpframe - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. phpframe-project/phpframe

ActiveLibrary[Framework](/categories/framework)

phpframe-project/phpframe
=========================

A modern PHP 8.1+ framework with FPM/CLI/Shell modes support

0.1.0(2w ago)0511MITPHPPHP ^8.1

Since Dec 30Pushed 2w agoCompare

[ Source](https://github.com/phpframe-project/phpframe)[ Packagist](https://packagist.org/packages/phpframe-project/phpframe)[ RSS](/packages/phpframe-project-phpframe/feed)WikiDiscussions main Synced today

READMEChangelog (3)Dependencies (46)Versions (4)Used By (1)

PHPFrame
========

[](#phpframe)

PHPFrame 是一个支持 FPM / CLI（ReactPHP 常驻内存）/ Shell 三模式的 PHP 框架，提供统一的控制器、路由、中间件、数据库、缓存、日志等核心能力。

特性
--

[](#特性)

- **三模式统一**：FPM、CLI（ReactPHP）、Shell 共享同一套路由和控制器体系
- **中间件管道**：洋葱模型的中间件机制，支持全局中间件和路由级中间件
- **请求解耦**：Request 对象可脱离超全局变量独立使用，便于单元测试
- **依赖注入容器**：支持单例和原型服务、循环依赖检测、自动依赖解析
- **数据库抽象**：基于 Illuminate Database，支持查询缓存委托给 CacheManager
- **Monolog 日志**：统一使用 Monolog，支持 `Log::info()` 静态调用和管道格式请求日志，自动按日期轮转
- **多 Worker 进程**：CLI 模式支持 pcntl\_fork 多进程，自动监控和重启，PID 文件实时更新
- **环境感知配置**：自动扫描 config 目录，支持 `app.production.php` 环境覆盖（深度覆盖而非递归合并）
- **统一异常处理**：内置 ExceptionHandler，可自定义覆盖
- **Fiber 并发**：基于 PHP Fiber 的 Task 类，支持并发、竞速（自动取消未完成 Fiber）、定时器等
- **门面系统**：`Log::info()`、`Db::table()`、`Cache::get()` 等静态调用风格，各门面上下文独立隔离

核心概念
----

[](#核心概念)

### 中间件

[](#中间件)

```
use PHPFrame\Facades\Route;
use App\Middleware\AuthMiddleware;
use App\Middleware\CorsMiddleware;

// 全局中间件
Route::middleware(new CorsMiddleware());

// 路由级中间件
Route::registerMiddleware('auth', new AuthMiddleware());
Route::handlerMiddleware('App\Controllers\UserController@profile', ['auth']);
```

> 中间件通过 `Route` 门面注册时采用延迟机制：先暂存到内部队列，待 `RouteManager` 创建后由框架自动统一应用。开发者无需关心 `RouteManager` 的初始化时机。

### 依赖注入

[](#依赖注入)

```
// 单例服务（默认）
app()->set('cache', function ($c) {
    return new CacheManager($c->get('repository'));
});

// 原型服务（每次解析返回新实例）
app()->prototype('request', function ($c) {
    return Request::createFromGlobals();
});

// 循环依赖检测（自动抛出异常）
// A → B → A 会抛出 "Circular dependency detected: A → B → A"
```

### 配置覆盖

[](#配置覆盖)

```
// config/app.php
return ['debug' => true, 'name' => 'myapp'];

// config/app.production.php（深度覆盖，同名键用后者覆盖前者）
return ['debug' => false];
// 结果: ['debug' => false, 'name' => 'myapp']
```

### 重定向

[](#重定向)

```
// FPM 模式：设置 Location header 后返回，不再强制 exit
return $this->redirect('/login', 302);
// 中间件的后置逻辑仍会正常执行
```

文档
--

[](#文档)

模块文档安装与项目结构[installation.md](docs/installation.md)配置管理[configuration.md](docs/configuration.md)容器与应用[container.md](docs/container.md)路由系统[routing.md](docs/routing.md)中间件[middleware.md](docs/middleware.md)请求处理[request.md](docs/request.md)响应处理[response.md](docs/response.md)数据库[database.md](docs/database.md)缓存[cache.md](docs/cache.md)日志系统[logger.md](docs/logger.md)门面系统[facades.md](docs/facades.md)常驻服务器[server.md](docs/server.md)异常处理[exceptions.md](docs/exceptions.md)辅助函数[helpers.md](docs/helpers.md)请求隔离[request-isolation.md](docs/request-isolation.md)异步任务[task.md](docs/task.md)环境要求
----

[](#环境要求)

- PHP &gt;= 8.1
- ext-pcntl（多 Worker 模式需要）
- ext-redis（Redis 缓存驱动需要）
- Composer 2.x

License
-------

[](#license)

MIT

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance96

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~84 days

Total

3

Last Release

18d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/243573?v=4)[rlee](/maintainers/rleecn)[@rleecn](https://github.com/rleecn)

---

Tags

frameworklaravelphpphp8phpframephpframeworkreactphpweb

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/phpframe-project-phpframe/health.svg)

```
[![Health](https://phpackages.com/badges/phpframe-project-phpframe/health.svg)](https://phpackages.com/packages/phpframe-project-phpframe)
```

###  Alternatives

[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M131](/packages/roots-acorn)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[laravel/framework

The Laravel Framework.

34.8k543.8M20.1k](/packages/laravel-framework)[flarum/core

Delightfully simple forum software.

201.4M2.3k](/packages/flarum-core)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45444.2k1](/packages/pressbooks-pressbooks)[craftcms/cms

Craft CMS

3.6k3.6M3.1k](/packages/craftcms-cms)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
