Skip to content

Latest commit

 

History

History

centrifugo

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Spiral Framework

Spiral HTTP Application Skeleton Latest Stable Version

Spiral Framework is a High-Performance PHP/Go Full-Stack framework and group of over sixty PSR-compatible components. The Framework execution model based on a hybrid runtime where some services (GRPC, Queue, WebSockets, etc.) handled by Application Server RoadRunner and the PHP code of your application stays in memory permanently (anti-memory leak tools included).

App Skeleton (CLI, GRPC, Admin Panel) | Documentation | Twitter | CHANGELOG | Contributing


Server Requirements

Make sure that your server is configured with following PHP version and extensions:

  • PHP 8.1+, 64bit
  • mb-string extension
  • PDO Extension with desired database drivers

Application Bundle

Application bundle includes the following components:

  • High-performance HTTP, HTTP/2 server based on RoadRunner
  • Console commands via Symfony/Console
  • Translation support by Symfony/Translation
  • Queue support for AMQP, Beanstalk, Amazon SQS, in-Memory
  • Stempler template engine
  • Security, validation, filter models
  • PSR-7 HTTP pipeline, session, encrypted cookies
  • DBAL and migrations support
  • Monolog, Dotenv
  • Prometheus metrics
  • Cycle DataMapper ORM

Installation

composer create-project spiral/app

Application server will be downloaded automatically (php-curl and php-zip required).

Once the application is installed you can ensure that it was configured properly by executing:

php ./app.php configure

To start application server execute:

./rr serve -v -d

On Windows:

rr.exe serve -v -d

Application will be available on http://localhost:8080.

Read more about application server configuration here.

Testing:

To test an application:

./vendor/bin/phpunit

Cloning:

Make sure to properly configure project if you cloned the existing repository.

copy .env.sample .env
php app.php encrypt:key -m .env
php app.php configure -vv
./vendor/bin/rr get-binary

License:

MIT License (MIT). Please see LICENSE for more information. Maintained by Spiral Scout.