Code Monkey home page Code Monkey logo

framework's Introduction


Github cover spiral application


Documentation · Discord · Twitter

Spiral Framework is a High-Performance Long-Living 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 RoadRunner application server and the PHP code of your application stays in memory permanently (anti-memory leak tools included).

Features

  • Battle-tested since 2013
  • Lightning fast full-stack PHP framework
  • PSR-{3,4,7,11,12,14,15,16,17} compliant
  • Powerful application server and resident memory application kernel
  • Native support of queue (AMQP, SQS, Beanstalk, Kafka) and background PHP workers
  • Queue supervision
  • GRPC server and client via RoadRunner bridge
  • Pub/Sub, event broadcasting
  • HTTPS, HTTP/2+Push, FastCGI
  • PCI DSS compliant
  • Encrypted cookies, signed sessions, CSRF-guard
  • MySQL, MariaDB, SQLite, PostgreSQL, SQLServer support, auto-migrations
  • The ORM you will use for the next 25 years
  • The Temporalio is the simple, scalable open source way to write and run reliable workflows
  • Intuitive scaffolding and prototyping (it literally writes code for you)
  • Helpful class discovery via static analysis
  • Authentication, RBAC security, validation, and encryption
  • Dynamic template engine to create your own HTML tags (or just use Twig)
  • MVC, HMVC, CQRS, Queue-oriented, RPC-oriented, CLI apps... any apps

Bridges

App Type Current Status
spiral/roadrunner-bridge Latest Stable Version
spiral/cycle-bridge Latest Stable Version
spiral/temporal-bridge Latest Stable Version
spiral/data-grid-bridge Latest Stable Version
spiral/sapi-bridge Latest Stable Version
spiral/nyholm-bridge Latest Stable Version

Note: You can find more community packages in spiral-packages organization.

License:

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

framework's People

Contributors

alexander-schranz avatar alexndr-novikov avatar andrey-mokhov avatar anlamas avatar aquaminer avatar butschster avatar evgenybarinov avatar gam6itko avatar hustlahusky avatar iavenger01 avatar jdrieghe avatar johnny-silverhand avatar lex111 avatar matthewhallcom avatar meekstellar avatar msmakouz avatar r3volut1oner avatar rauanmayemir avatar roquie avatar roxblnfk avatar rustatian avatar samsonasik avatar serafimarts avatar spekulatius avatar stylecibot avatar tuneyourserver avatar vladgorenkin avatar vvval avatar wakebit avatar wolfy-j avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

framework's Issues

(LOW) Resource route

AC: Something with prebuilt routing to specified controller methods based on http method, easy but lazy.

Think: make decision about disabled ORM entities (while indexing) as alternative to abstract classes

I want to use abstract models for ODM and ORM in modules, which is fine (User extends AbstractORMUser) but for more complex modules like CMS manager (we have to make it not only for ODM but for ORM also) there is 8 models, not sure making each of them abstract will be effective.

Consider solution where model can say if it's "active" while indexing based on external service or config - "don't map me to database, there is primary model missing or module is disabled".

Update Router to use latest PSR-7

I have PSR-7 implemented now, router should be be used to use new Request and etc. Additionally i have to solve problem with controller aliases and use runtime instance of container.

(LOW): create additional reactor commands

I should find nice and clean way to add commands to react controllers, models (orm and odm) and views (?) as it already implement for migrations. Trick is to have additional config to declare default namespace, base directory and etc. Additionally, to think about custom controller templates.

Code generation will be done using Reactor classes not stubs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.