高性能現代PHP全棧框架 Spiral

概述

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.pswp.cn/web/65902.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/65902.shtml
英文地址,請注明出處:http://en.pswp.cn/web/65902.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【面試題】Spring/SpringBoot部分[2025/1/6 ~ 2025/1/12]

Spring/SpringBoot部分[2025/1/6 ~ 2025/1/12] 1. 說說 Spring 啟動過程?2. 說說 Springboot 的啟動流程?3. 你了解的 Spring 都用到哪些設計模式?4. Spring 有哪幾種事務傳播行為?5. SpringBoot 是如何實現自動配置的?6. Spring…

【機器學習:十八、更高級的神經網絡概念】

1. 梯度下降法的改進:Adam算法 1.1 Adam算法簡介 Adam(Adaptive Moment Estimation)是一種優化算法,結合了動量梯度下降和 RMSProp 的優點,在處理稀疏梯度和高維空間優化時表現尤為出色。其核心在于動態調整每個參數…

計算機網絡之---VPN與隧道協議

VPN與隧道協議 VPN(虛擬專用網絡)和隧道協議是現代網絡安全技術的重要組成部分,它們主要用于在不安全的公共網絡(如互聯網)上建立一個安全的私密網絡連接。VPN通過加密通信和認證機制,確保數據的隱私性和完…

【STM32-學習筆記-6-】DMA

文章目錄 DMAⅠ、DMA框圖Ⅱ、DMA基本結構Ⅲ、不同外設的DMA請求Ⅳ、DMA函數Ⅴ、DMA_InitTypeDef結構體參數①、DMA_PeripheralBaseAddr②、DMA_PeripheralDataSize③、DMA_PeripheralInc④、DMA_MemoryBaseAddr⑤、DMA_MemoryDataSize⑥、DMA_MemoryInc⑦、DMA_DIR⑧、DMA_Buff…

SQL Server中可以通過擴展事件來自動抓取阻塞

在SQL Server中可以通過擴展事件來自動抓取阻塞,以下是詳細流程: 開啟阻塞跟蹤配置: ? 執行以下SQL語句來啟用相關配置: EXEC sp_configureshow advanced options, 1; RECONFIGURE; EXEC sp_configure blocked process thresh…

DNS解析域名簡記

域名通常是由: 權威域名.頂級域名.根域名組成的。 從左往右,級別依次升高,這和外國人從小范圍到大范圍的說話習慣相關。(我們自己是更習慣先說大范圍再說小范圍,如XX省XX市XX區XX路) DNS解析域名時,會先查…

【爬蟲】單個網站鏈接爬取文獻數據:標題、摘要、作者等信息

源碼鏈接: https://github.com/Niceeggplant/Single—Site-Crawler.git 一、項目概述 從指定網頁中提取文章關鍵信息的工具。通過輸入文章的 URL,程序將自動抓取網頁內容 二、技術選型與原理 requests 庫:這是 Python 中用于發送 HTTP 請求…

關于掃描模型 拓撲 和 傳遞貼圖工作流筆記

關于MAYA拓撲和傳遞貼圖的操作筆記 一、拓撲低模: 1、拓撲工作區位置: 1、準備出 目標 高模。 (高模的狀態如上 ↑ )。 2、打開頂點吸附,和建模工具區,選擇四邊形繪制. 2、拓撲快捷鍵使…

解決無法遠程管理Windows Server服務器核心安裝

問題 有時,人們會為了節省運算資源,例如運行Hyper-V虛擬機,而選擇Windows Server核心安裝,即無圖形化界面。這時,我們就只能通過Powershell命令對其進行操控,或為了獲得圖形化界面而使用遠程服務器管理工具…

SQL HAVING 子句深入解析

SQL HAVING 子句深入解析 介紹 SQL(Structured Query Language)是一種用于管理關系數據庫管理系統的標準編程語言。在SQL中,HAVING子句是與GROUP BY子句一起使用的,用于篩選分組后的數據。它根據聚合函數的結果對組進行條件過濾…

【計算機網絡】lab7 TCP協議

🌈 個人主頁:十二月的貓-CSDN博客 🔥 系列專欄: 🏀計算機網絡_十二月的貓的博客-CSDN博客 💪🏻 十二月的寒冬阻擋不了春天的腳步,十二點的黑夜遮蔽不住黎明的曙光 目錄 1. 實驗目的…

JavaRestClient 客戶端初始化+索引庫操作

1. 介紹 ES官方提供了各種不同語言的客戶端,用來操作ES。這些客戶端的本質就是組裝DSL語句,通過http請求發送給ES。 Elasticsearch目前最新版本是8.0,其java客戶端有很大變化。不過大多數企業使用的還是8以下版本 2. 客戶端初始化 在elastic…

【JVM-2.2】使用JConsole監控和管理Java應用程序:從入門到精通

在Java應用程序的開發和運維過程中,監控和管理應用程序的性能和資源使用情況是非常重要的。JConsole是Java Development Kit(JDK)自帶的一款圖形化監控工具,它可以幫助開發者實時監控Java應用程序的內存、線程、類加載以及垃圾回收…

基于html5實現音樂錄音播放動畫源碼

源碼介紹 基于html5實現音樂錄音播放動畫源碼是一款類似Shazam的UI,點擊按鈕后,會變成為一個監聽按鈕。旁邊會有音符飛入這個監聽按鈕,最后轉換成一個音樂播放器。 效果預覽 源碼獲取 基于html5實現音樂錄音播放動畫源碼

《自動駕駛與機器人中的SLAM技術》ch1:自動駕駛

目錄 1.1 自動駕駛技術 1.2 自動駕駛中的定位與地圖 1.1 自動駕駛技術 1.2 自動駕駛中的定位與地圖 L2 在技術實現上會更傾向于實時感知,乃至可以使用感知結果直接構建鳥瞰圖(bird eye view, BEV),而 L4 則依賴離線地圖。 高精地…

抖音矩陣是什么

抖音矩陣是指在同一品牌或個人IP下,通過創建多個不同定位的抖音賬號(如主號、副號、子號等),形成一個有機的整體,以實現多維度、多層次的內容覆蓋和用戶互動。以下是關于抖音矩陣的詳細介紹: 抖音矩陣的類…

【開發日記】Docker修改國內鏡像源

1、問題: docker pull鏡像時提示以下內容: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)2、解決 ①…

Centos7 解決Maven scope=system依賴jar包沒有打包到啟動jar包中的問題(OpenCV-4.10)

最近項目中遇到問題,OpenCV的Jar包在程序打包后,找不到相關的類,比如MAT,這個時候懷疑OpenCV_4.10的Jar沒有和應用程序一起打包,后面排查到確實是沒有打包進去,特此記錄,便于日后查閱。 <!-- 加載lib目錄下的opencv包 --> <dependency><groupId>org…

【后端面試總結】Golang可能的內存泄漏場景及應對策略

Golang可能的內存泄漏場景及應對策略 一、引言 Golang作為一種高性能、并發友好的編程語言&#xff0c;其內置的垃圾回收機制極大地簡化了內存管理。然而&#xff0c;這并不意味著開發者可以完全忽視內存泄漏問題。在實際開發中&#xff0c;由于不當的資源管理、循環引用、以…

【LeetCode】:刪除回文子數組【困難】

class Solution { public:// 思考:能否用滾動數組進行優化int minimumMoves(vector<int>& arr) {// 定義狀態dp[i][j]為i-j的最小步數int n arr.size();vector<vector<int>> dp(n, vector<int>(n, 1e9 7));// 可以把這 1 次理解為一種 最小操作單…