一个语法简洁优雅的 PHP Web 应用框架,内置路由、ORM、迁移、队列和实时广播等功能。
spiral/framework
基于 RoadRunner 应用服务器、应用常驻内存运行的 PSR 兼容 PHP 全栈框架。
- Star
- 2,064
- Fork
- 93
- 未关闭 Issue
- 44
- 最近提交
- 21小时前
这是什么?
Spiral 是一个全栈 PHP 框架,由六十多个 PSR 兼容组件构成。它采用混合运行模式:gRPC、队列、WebSocket 等服务由 RoadRunner 应用服务器处理,而应用的 PHP 代码在请求之间常驻内存,并内置防内存泄漏工具以支持这种长期运行的模型。
框架覆盖常见的 Web 应用需求,包括支持 AMQP、SQS、Beanstalk、Kafka 的队列与后台 Worker(含队列监控)、gRPC 服务端与客户端、发布订阅与事件广播,以及支持 MySQL、MariaDB、SQLite、PostgreSQL 和 SQL Server 的数据库及自动迁移。此外还提供认证、RBAC、数据校验、加密 Cookie、签名会话和 CSRF 防护,ORM 采用 Cycle,并可通过 CLI 生成代码骨架。
它适用于 MVC、HMVC 或 CQRS 风格的 Web 应用、基于队列的服务、RPC 后端以及命令行应用。官方桥接包可与 RoadRunner、Cycle ORM、Temporal 工作流和数据表格集成。
核心功能
- 01借助 RoadRunner 处理 gRPC、队列和 WebSocket,应用代码常驻内存运行
- 02支持 AMQP、SQS、Beanstalk、Kafka 队列及后台 Worker
- 03支持 MySQL、MariaDB、SQLite、PostgreSQL、SQL Server 并可自动迁移
- 04提供认证、RBAC、数据校验、加密 Cookie 和 CSRF 防护
- 05组件符合 PSR-3、4、7、11、12、14、15、16、17 规范
适用场景
- 用 PHP 构建 MVC 或 HMVC 风格的 Web 应用
- 运行基于队列的后台处理服务
- 从 PHP 后端对外提供 gRPC 服务
- 使用同一套框架开发命令行应用
快速上手
- 1
通过 Composer 安装应用安装器
composer create-project spiral/app my-app - 2
进入项目目录并启动 RoadRunner 服务器
使用前须知
- 需要在 RoadRunner 下运行长驻的 PHP 进程,这与常见的 PHP 托管方式不同。
- 应用代码会常驻内存,开发者必须防范内存泄漏。
收录于专题
标签
常见问题
- framework 是什么?
- 基于 RoadRunner 应用服务器、应用常驻内存运行的 PSR 兼容 PHP 全栈框架。 Spiral 是一个全栈 PHP 框架,由六十多个 PSR 兼容组件构成。它采用混合运行模式:gRPC、队列、WebSocket 等服务由 RoadRunner 应用服务器处理,而应用的 PHP 代码在请求之间常驻内存,并内置防内存泄漏工具以支持这种长期运行的模型。
- framework 可以免费使用吗?用的什么许可证?
- framework 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- framework 还在维护吗?
- 活跃维护中。framework 最近一次提交是在 2026年11月6日。
- framework 适合用来做什么?
- 用 PHP 构建 MVC 或 HMVC 风格的 Web 应用 运行基于队列的后台处理服务 从 PHP 后端对外提供 gRPC 服务 使用同一套框架开发命令行应用
- framework 怎么安装和运行?
- 通过 Composer 安装应用安装器: composer create-project spiral/app my-app 进入项目目录并启动 RoadRunner 服务器
- 在哪里获取 framework?
- 源代码和安装说明在 GitHub 上:https://github.com/spiral/framework
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
模块化的 Go 应用框架,内置 HTTP 服务、ORM、缓存、日志和链路追踪,可整体使用也可按组件取用。
一个鼓励快速开发与简洁务实设计的高级 Python Web 框架。
Ruby on Rails 是一个基于 MVC 模式的全栈 Web 框架,用于用 Ruby 构建数据库驱动的 Web 应用。
一个声明式、可扩展的 Elixir 应用框架,围绕资源、动作和策略构建应用。
Symfony 是一个用于构建 Web 与命令行应用的 PHP 框架,同时提供一组可复用的 PHP 组件。