高性能现代PHP全栈框架 Spiral

ops/2025/1/17 13:28:50/

概述

Spiral Framework 诞生于现实世界的软件开发项目是一个现代 PHP 框架,旨在为更快、更清洁、更卓越的软件开发提供动力。

特性

高性能

由于其设计以及复杂精密的应用服务器,Spiral Framework框架在不影响代码质量以及与常用库的兼容性的情况下,执行代码的速度可比拉威尔Laravel或 Symfony框架快达 10 倍。

安全

Spiral Framework 提供了编写嵌入式安全应用程序所需的所有工具加密, CSRF 保护、cookie 防篡改、RBAC 授权、基于令牌的身份验证、验证和更多。

久经考验

Spiral Scout的10+年研发和设计验证中,我们交付了高性能的框架已经为数十个生产应用程序提供服务,并为数百万人驱动功能用户。

具备可扩展性

使用用于队列、GRPC、事件广播和更多。支持的应用程序服务器包括编写水平可扩展所需的一切应用。

PSR 兼容

框架实现了大多数 PSR 标准。享受使用您喜欢的工具的灵活性,不用担心关于 Vendor Lock 或在框架外部使用 Spiral 组件。

优雅的数据映射

Spiral Framework 使用 Cycle ORM 与数据库通信,Cycle ORM 帮助创建干净的域层并动态控制数据库架构。

快速应用开发且对集成开发环境友好

Spiral Framework 经过优化,可在现代 IDE 中实现最佳使用,可与智能脚手架以及原型设计,以便在不牺牲代码质量的情况下实现快速开发。

解锁可能性

摆脱单一的栈式编程,轻松地将螺旋框架Spiral Framework与任何 PHP 库进行集成,或者利用 Go 语言扩展其功能。通过将丰富的业务层与快速的并发编程相结合来提升开发效率。

通用和模块化

框架不会限制你的设计能力,你可以创建模型 - 视图 - 控制器(MVC)架构的应用、命令与查询职责分离(CQRS)架构的应用、事件驱动型应用以及命令行界面(CLI)应用。只需安装你所需的依赖项即可。

快速开始

确保您的服务器配置了以下 PHP 版本和扩展

  • PHP 8.1+ 64bit

  • 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] gRPCMake your selection (default: 1): 1Create a default application structure and demo data?[1] Yes[0] No[?] HelpMake your selection (default: 1): 1Do you need Cycle ORM?[1] Yes[0] NoMake your selection (default: 1): 1Loading composer repositories with package information

安装应用程序后,将在项目的根目录中生成 README.md 文件,其中包含有关如何启动应用程序服务器以及如何运行应用程序的说明。

运行 Server

要启动应用程序服务器,请执行:

./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}

访问 http://localhost:8204


http://www.ppmy.cn/ops/150815.html

相关文章

冯·诺依曼体系结构:计算机科学的奠基石

文章目录 前言🎷一、冯诺依曼体系结构(Von Neumann Architecture)🎸1.1 硬件介绍🥁1. 输入设备🥁2. 输出设备🥁3. 输入输出一体化设备🥁4. 存储器🥁5. 中央处理器CPU&…

【linux性能优化】系统启动参数

grubby -c /boot/grub2/grub.cfg --update-kernelALL --args“raidnoautodetect swiotlb16384 crashkernel16M,low crashkernel512M,high modprobe.blacklistvirtio_net transparent_hugepagenever acpi_force_table_verification” grubby:该工具用于更新和管理GR…

web前端第六次作业---制作网页页面

制作网页页面 代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><s…

数据结构学习记录-数据结构概念

1 数据结构&#xff1a; 数据结构是计算机存储&#xff0c;管理数据的方式。 数据必须依据某种逻辑联系组织在一起存储在计算机内 数据结构研究的就是这种数据的存储结构和数据的逻辑结构。 1.1 数据的逻辑结构&#xff1a; 逻辑结构指的是数据本身之间的关系 集合&#x…

zustand 切片模式使用,persist 中间件持久化状态

zustand - npm 安装 npm i zustand 创建切片目录&#xff1a; 创建切片 channelStore.js import { getChannelsAPI } from "/apis/article"; const channelStore (set) > {return {channelList: [],fetchChannelList: async () > {const res await getChanne…

传统数据湖和数据仓库的“中心化瓶颈”

传统数据湖和数据仓库的**“中心化瓶颈”**&#xff0c;主要是由于其架构设计和治理模式的局限性&#xff0c;无法有效应对现代企业中数据规模的快速增长和组织复杂性。以下是具体表现&#xff1a; 1. 单点瓶颈&#xff08;Single Point Bottleneck&#xff09; 传统数据湖/仓…

阀井可燃气体监测仪,开启地下管网安全新篇章-旭华智能

在城市的脉络中&#xff0c;地下管网犹如隐秘的动脉&#xff0c;支撑着现代生活的运转。而在这庞大网络的关键节点上&#xff0c;阀井扮演着不可或缺的角色。然而&#xff0c;由于其密闭性和复杂性&#xff0c;阀井内部一旦发生可燃气体泄漏&#xff0c;将对公共安全构成严重威…

2025年01月16日Github流行趋势

项目名称&#xff1a;tabby 项目地址url&#xff1a;https://github.com/TabbyML/tabby 项目语言&#xff1a;Rust 历史star数&#xff1a;27449 今日star数&#xff1a;1439 项目维护者&#xff1a;wsxiaoys, apps/autofix-ci, icycodes, liangfung, boxbeam 项目简介&#xf…