/spiral-app

Primary LanguagePHPMIT LicenseMIT

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 i

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