Spiral Framework 诞生于现实世界的软件开发项目是一个现代 PHP 框架,旨在为更快、更清洁、更卓越的软件开发提供动力。
由于其设计以及复杂精密的应用服务器,Spiral Framework框架在不影响代码质量以及与常用库的兼容性的情况下,执行代码的速度可比拉威尔Laravel或 Symfony框架快达 10 倍。
Spiral Framework 提供了编写嵌入式安全应用程序所需的所有工具加密, CSRF 保护、cookie 防篡改、RBAC 授权、基于令牌的身份验证、验证和更多。
在Spiral Scout的10+年研发和设计验证中,我们交付了高性能的框架已经为数十个生产应用程序提供服务,并为数百万人驱动功能用户。
使用用于队列、GRPC、事件广播和更多。支持的应用程序服务器包括编写水平可扩展所需的一切应用。
框架实现了大多数 PSR 标准。享受使用您喜欢的工具的灵活性,不用担心关于 Vendor Lock 或在框架外部使用 Spiral 组件。
Spiral Framework 使用 Cycle ORM 与数据库通信,Cycle ORM 帮助创建干净的域层并动态控制数据库架构。
Spiral Framework 经过优化,可在现代 IDE 中实现最佳使用,可与智能脚手架以及原型设计,以便在不牺牲代码质量的情况下实现快速开发。
摆脱单一的栈式编程,轻松地将框架Spiral Framework与任何 PHP 库进行集成,或者利用 Go 语言扩展其功能。通过将丰富的业务层与快速的并发编程相结合来提升开发效率。
该框架不会限制你的设计能力,你可以创建模型 - 视图 - 控制器(MVC)架构的应用、命令与查询职责分离(CQRS)架构的应用、事件驱动型应用以及命令行界面(CLI)应用。只需安装你所需的依赖项即可。
确保您的服务器配置了以下 PHP 版本和扩展
mb-string
扩展socket
扩展curl
扩展zip
扩展安装程序的安装过程非常简单易用。您可以使用以下命令创建新项目:
composer create-project spiral/app tinywan-spiral-app
您将看到以下输出:
Creating a "spiral/app" project at "./tinywan-spiral-app"
Installing spiral/app (3.7.0)
- Downloading spiral/app (3.7.0)
- Installing spiral/app (3.7.0): Extracting archive
Created project in /var/www/webman/tinywan-spiral-app
> Installer\Internal\Installer::install
_____ _ _
/ ____| (_) | |
| (___ _ __ _ _ __ __ _ | |
\___ \ | '_ \ | || '__|/ _` || |
____) || |_) || || | | (_| || |
|_____/ | .__/ |_||_| \__,_||_|
| |
|_|
Which application preset do you want to install?
[1] Web
[2] Cli
[3] gRPC
Make your selection (default: 1): 1
Create a default application structure and demo data?
[1] Yes
[0] No
[?] Help
Make your selection (default: 1): 1
Do you need Cycle ORM?
[1] Yes
[0] No
Make your selection (default: 1): 1
Loading composer repositories with package information
安装应用程序后,将在项目的根目录中生成 README.md 文件,其中包含有关如何启动应用程序服务器以及如何运行应用程序的说明。
要启动应用程序服务器,请执行:
./rr serve
开源技术小栈默认端口是:
8080
。我这里8080
端口被占用,所以我使用8204
端口。端口修改配置.rr.yaml
文件。
服务启动后,您将看到以下输出:
2025-01-13T01:35:18+0000 DEBUG rpc plugin was started {"address": "tcp://127.0.0.1:6001", "list of the plugins with RPC methods:": ["lock", "informer", "resetter", "app"]}
2025-01-13T01:35:27+0000 DEBUG server worker is allocated {"pid": 2847, "max_execs": 0, "internal_event_name": "EventWorkerConstruct"}
[INFO] RoadRunner server started; version: 2024.3.1, buildtime: 2024-12-20T02:15:59+0000
[INFO] sdnotify: not notified
2025-01-13T01:35:27+0000 DEBUG http http server was started {"address": "0.0.0.0:8204"}
2025-01-13T01:35:31+0000 DEBUG server req-resp mode {"pid": 2847}
2025-01-13T01:35:39+0000 DEBUG server req-resp mode {"pid": 2847}
2025-01-13T01:35:39+0000 INFO http http log {"status": 200, "method": "GET", "URI": "/", "URL": "/", "remote_address": "172.18.0.1:51978", "read_bytes": 0, "write_bytes": 10873, "start": "2025-01-13T01:35:36+0000", "elapsed": 2708}