Welcome to EverybodyWiki 😃 ! Nuvola apps kgpg.png Log in or ➕👤 create an account to improve, watchlist or create an article like a 🏭 company page or a 👨👩 bio (yours ?)...

Spiral Framework

From EverybodyWiki Bios & Wiki


Spiral Framework
Spiral Framework Logo.png
Developer(s)Spiral Scout LLC
Initial release6 April 2017 (2017-04-06)
Stable release
2.0.0 / 2020-05-08
RepositorySpiral Framework Repository
Written inPHP/GO
Engine
    TypeWeb framework
    LicenseMIT License
    Websitespiral.dev

    Amazon.com Logo.png Search Spiral Framework on Amazon.

    Spiral Framework (also referred to as Spiral) is a free open-source[1] PHP/GO full-stack web framework developed by Spiral Scout for any type of software application development. Its latest version, Spiral Framework 2.0, was released in May 2020 under the terms of the MIT License.

    Purpose[edit]

    Spiral Framework is based on open-source and community libraries, including RoadRunner[2] and Cycle ORM[3], which are two products developed by Spiral Scout and the open-source developer community. It provides developers with a solid, flexible and modular codebase. According to performance benchmarks, Spiral Framework is 5 to 10 times faster than other PHP Frameworks like Laravel and Symfony.[4]

    History[edit]

    Anton Titov, the author, began developing Spiral Framework in 2008 as an alternative for existing PHP frameworks. It started as a portable kernel for freelance apps and was later transformed into a set of PSR-compatible components united by a common integration level. Spiral Framework 1.0 was officially released in 2017.[5] Spiral Scout has maintained the code, and with the help of the open-source community that is currently using it, they rebuilt the legacy framework and finished the second version three years later in May 2019. Spiral Framework 2.0 was officially released one year later[6][7] in May of 2020. Spiral has been tested on a number of projects.[8] Spiral was included in PHP Russia 2020, an online PHP conference.[9]

    Features[edit]

    Spiral Framework is a combination of a PHP core and an application server written in Golang. A hybrid runtime model allows Spiral to handle heavy-loading tasks using fewer resources. Writing code for Spiral Framework is the same as for any other PHP framework but should be made in accordance with the SOLID principles in order to get a more flexible and maintainable product at the end. Spiral Framework features include:

    • RoadRunner – PHP application server written in Golang;
    • Cycle ORM (object-relational mapping) – PHP datamapper ORM and data modeling engine;
    • Resident memory application kernel;
    • Native support of queue (AMQP, SQS, Beanstalk) and background PHP workers;
    • GRPC server and client;
    • Pub/Sub pattern;
    • HTTPS, HTTP/2+Push, encrypted cookies, sessions, CSRF-guard;
    • MySQL, MariaDB, SQLite, PostgreSQL, SQL Server support, auto-migrations;
    • Intuitive scaffolding and prototyping;
    • Helpful class discovery via static analysis;
    • Authentication, RBAC security, validation, and encryption;
    • Dynamic template engine to create your own HTML tags.

    Components[edit]

    Spiral Framework currently includes over 60 PSR-compatible components, though all are not required for its use. Most of the libraries integrated with Spiral can be used outside the framework. For instance, developers working with Laravel and Symfony can use the RoadRunner application server separately in their projects. In addition, the HTTP layer is aligned with the PHP Standard Recommendation 7, 15, and 17, which allows a developer to change the router and message implementation.

    RoadRunner[edit]

    RoadRunner is a PHP application server, process manager, and load-balancer[10] designed by Spiral Scout and released in 2018. It is updated weekly according to its GitHub page. RoadRunner features several libraries written in Golang. It is based on the principles of multithreading and utilizes goroutines. RoadRunner runs on several operating systems including Mac OS, Windows, Linux, FreeBSD, and ARM.

    Cycle ORM[edit]

    Cycle ORM is a data mapper ORM and data modeling engine[11] designed by Spiral Scout. It supports dynamic mapping schemes and allows users to add, update or delete data in their databases, as well as build queries for PHP web-based applications. Cycle ORM supports various relational databases including MySQL, MariaDB, PostgreSQL, SQL Server, and SQLite and can be used outside the Spiral Framework.

    Security[edit]

    Using Spiral Framework, developers can build secure applications with request filters, CSRF, and encrypted cookies and session data based on defuse/php-encryption. The framework also utilizes anti-tampering algorithms to protect users’ cookies and sessions. Spiral Framework applies token-based authentication performed through RBAC components to ensure only authorized users can log in to a server using their security tokens. Additional use of an intermediate interceptor layer allows adding special restrictions on controllers, as well as preventing errors and pre-validating data.

    See also[edit]


    Other articles of the topic Free and open-source software : Project Kenai, Koseven (framework), PySol, Subsurface (software), Nexus Aurora, MiniD, CookXml
    Some use of "" in your query was not closed by a matching "".Some use of "" in your query was not closed by a matching "".

    • Comparison of web frameworks
    • RoadRunner (Application server), a Spiral Framework component

    References[edit]

    Versions[edit]

    Version Release Date
    v0.8.10 20 Jan 2016
    v0.9.0 5 Feb 2017
    v1.0.0 6 Apr 2017
    v2.0.0 May 13 2020
    v2.1.0 23 Sep 2019
    v2.2.0 24 Oct 2019
    v2.3.0 1 Nov 2019
    v2.4.0 19 Dec 2019
    v2.5.0 18 June 2020

    External links[edit]

    Category:Free software programmed in PHP Category:PHP frameworks Category:Software using the MIT license Category:Web frameworks


    This article "Spiral Framework" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Spiral Framework. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.