Software:Spiral Framework
![]() | |
Developer(s) | Spiral Scout LLC |
---|---|
Initial release | 6 April 2017 |
Stable release | 2.0.0 / 2020-05-08
|
Repository | Spiral Framework Repository |
Written in | PHP/GO |
Type | Web framework |
License | MIT License |
Website | spiral |
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
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
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
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
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
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
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
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
- Comparison of web frameworks
- RoadRunner (Application server), a Spiral Framework component
References
- ↑ GitHub - Spiral Framework, github.com
- ↑ RoadRunner official website, roadrunner.dev
- ↑ Cycle ORM official website, cycle-orm.dev
- ↑ GitHub - the-benchmarker/web-frameworks: Which is the fastest web framework?, github.com
- ↑ Spiral, full-stack PHP7/PSR framework v1.0.0, reddit.com
- ↑ Spiral: высокопроизводительный PHP/Go фреймворк, habr.com
- ↑ Spiral Framework 2.0 released, spiralscout.com
- ↑ Spiral 2.4: High-performance PHP/Go Framework, reddit.com
- ↑ PHP Russia 2020 Online in English, youtube.com
- ↑ GitHub - Cycle ORM, github.com
- ↑ GitHub - RoadRunner, github.com
Versions
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
Review waiting, please be patient.
This may take more than six months, since drafts are reviewed in no specific order. There are 3 pending submissions waiting for review.
Where to get help
How to improve your article
Improving your odds of a speedy review
To improve your odds of a faster review, try searching for a relevant WikiProject. For instance, if you wrote about a Kenyan astronomer, you might want to search for "Biography", "Astronomy" or "Kenya" to find WikiProject Biography, WikiProject Astronomy, and WikiProject Kenya. You can then add {{WikiProject TOPIC}} at the top of the talk page of this draft, like this. This will let the WikiProjects know a new draft has been submitted.*Adding the 2–3 most pertinent WikiProjects is plenty. For example, if you add
Editor resources
Reviewer tools
|
Script error: No such module "AFC submission catcheck".
![]() | Original source: https://en.wikipedia.org/wiki/Spiral Framework.
Read more |