valkyrja / valkyrja
The Valkyrja Framework.
Requires
- php: >=8.4
- psr/container: ^2.0.2
- psr/event-dispatcher: ^1.0.0
- psr/http-message: ^2.0
- psr/http-server-handler: ^1.0.2
- psr/log: ^3.0.2
Requires (Dev)
- filp/whoops: ^2.18.4
- firebase/php-jwt: ^7.0.5
- guzzlehttp/guzzle: ^7.10.0
- league/flysystem: ^3.33.0
- league/flysystem-aws-s3-v3: ^3.32.0
- mailgun/mailgun-php: ^4.5.0
- monolog/monolog: ^3.10.0
- phpmailer/phpmailer: ^7.0.2
- predis/predis: ^3.4.2
- pusher/pusher-php-server: ^7.2.7
- twig/twig: ^3.24.0
- vonage/client-core: ^4.13.0
Suggests
- ext-curl: Required to use the default Client adapter (*)
- ext-pdo: Required to use the default ORM adapter (*)
- ext-redis: Required to use the default Cache store (^4.0|^5.0).
- ext-sodium: Required to use the default Crypt adapters and/or JWT EdDSA Algorithm (*)
- filp/whoops: Required to use the default Throwable handler (^2.18.4)
- firebase/php-jwt: Required to use the default Jwt adapter (^7.0.5)
- guzzlehttp/guzzle: Required to use the default Client adapter (^7.10.0).
- league/flysystem: Required to use the default Filesystem adapter (^3.33.0).
- league/flysystem-aws-s3-v3: Required to use the s3 Filesystem adapter (^3.32.0)
- mailgun/mailgun-php: Required to use the Mailgun Mail adapter (^4.5.0).
- monolog/monolog: Required to use the default Log adapter (^3.10.0).
- phpmailer/phpmailer: Required to use the default Mail adapter (^7.0.2).
- predis/predis: Required to use the Redis Cache store (^3.4.2).
- pusher/pusher-php-server: Required to use the Pusher Broadcast adapter (^7.2.7).
- twig/twig: Required to use the Twig View engine (^3.24.0).
- vonage/client-core: Required to use the default SMS adapter (^4.13.0).
Conflicts
- filp/whoops: <2.18.4
- firebase/php-jwt: <7.0.5
- guzzlehttp/guzzle: <7.10.0
- league/flysystem: <3.33.0
- league/flysystem-aws-s3-v3: <3.32.0
- mailgun/mailgun-php: <4.5.0
- monolog/monolog: <3.10.0
- phpmailer/phpmailer: <7.0.2
- predis/predis: <3.4.2
- pusher/pusher-php-server: <7.2.7
- twig/twig: <3.24.0
- vonage/client-core: <4.13.0
- 26.x-dev
- v26.1.0
- v26.0.0
- 25.x-dev
- dev-master / 25.x-dev
- v25.34.4
- v25.34.3
- v25.34.2
- v25.34.1
- v25.34.0
- v25.33.0
- v25.32.0
- v25.31.1
- v25.31.0
- v25.30.0
- v25.29.0
- v25.28.0
- v25.27.0
- v25.26.1
- v25.26.0
- v25.25.1
- v25.25.0
- v25.24.0
- v25.23.0
- v25.22.0
- v25.21.0
- v25.20.0
- v25.19.1
- v25.19.0
- v25.18.0
- v25.17.1
- v25.17.0
- v25.16.0
- v25.15.1
- v25.15.0
- v25.14.0
- v25.13.0
- v25.12.0
- v25.11.0
- v25.10.0
- v25.9.1
- v25.9.0
- v25.8.0
- v25.7.0
- v25.6.1
- v25.6.0
- v25.5.0
- v25.4.1
- v25.4.0
- v25.3.4
- v25.3.3
- v25.3.2
- v25.3.1
- v25.3.0
- v25.2.19
- v25.2.18
- v25.2.17
- v25.2.16
- v25.2.15
- v25.2.14
- v25.2.13
- v25.2.12
- v25.2.11
- v25.2.10
- v25.2.9
- v25.2.8
- v25.2.7
- v25.2.6
- v25.2.5
- v25.2.4
- v25.2.3
- v25.2.2
- v25.2.1
- v25.2.0
- v25.1.6
- v25.1.5
- v25.1.4
- v25.1.3
- v25.1.2
- v25.1.1
- v25.1.0
- v25.0.0
- v3.0.0
- v2.0.2
- v2.0.1
- v2.0.0
- v1.0.0
- v0.9.0
- v0.8.1
- v0.8
- v0.7.1
- v0.7
- v0.6
- v0.5.1
- v0.5
- v0.4
- v0.3.5
- v0.3
- v0.2
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1
This package is auto-updated.
Last update: 2026-05-06 00:47:19 UTC
README
Valkyrja
Valkyrja is a PHP framework for web and console applications.
Valkyrja (pronounced "Valk-ear-ya") is the Old Norse spelling for Valkyrie, a mythical creature that would guide warriors to Valhalla (the afterlife and a better place) after death. In a similar sense, the Valkyrja framework guides your application to be in a better state. Fast, light, and robust, Valkyrja does the heavy lifting so you can focus on your application.
What's Included
- HTTP and CLI kernels — unified application architecture serving both web requests and command-line invocations
- Dependency injection container — deferred bindings, contextual resolution, and compiled configuration for fast resolution at runtime
- Routing — expressive route definitions with middleware, constraints, and reverse resolution
- Event dispatcher — decoupled event handling with typed listeners
- ORM and data layer — database access with repository patterns and migrations
- Persistent worker support — first-class integration with OpenSwoole, FrankenPHP, and RoadRunner for production-grade performance
Installation
Start a New Application
The fastest way to start a new Valkyrja application is with the starter template or the Sindri build tool:
- Use the
valkyrja-starter-app-phpGitHub template ("Use this template" button on the repository page) - Or run
composer create-project valkyrja/application your-project - Or use Sindri:
composer create-project valkyrja/sindri your-project
Add to an Existing Project
To require the framework as a dependency:
composer require valkyrja/valkyrja
Documentation
Full documentation is baked into the repository so you can browse it offline. Major areas include:
- HTTP — routing, controllers, middleware, requests, responses
- CLI — commands, input, output, and dispatch
- Container — dependency injection bindings and resolution
- Events — event dispatch and listeners
- ORM — database access, repositories, and migrations
Ecosystem
Valkyrja is the core framework. Surrounding it is an ecosystem of related projects in the Valkyrjaio organization:
- Sindri — build tool and application creator
- Starter (App) — starter template for new applications
- Worker runtimes — OpenSwoole, FrankenPHP, RoadRunner
- Docker — ready-made Docker configurations
See the Valkyrjaio organization page for the complete listing.
Versioning and Release Process
Valkyrja follows semantic versioning with a major release every year, and support for each major version for 2 years from the date of release.
For more information see our Versioning and Release Process documentation.
Supported Versions
Bug fixes are provided until 3 months after the next major release. Security fixes are provided for 2 years after the initial release.
| Version | PHP | Release | Bug Fixes Until | Security Fixes Until |
|---|---|---|---|---|
| 25 (*) | 8.4 – 8.6 | December 11th, 2025 | March 31, 2026 | March 31, 2026 |
| 26 | 8.4 – 8.6 | March 31, 2026 | Q2 2027 | Q1 2028 |
| 27 | 8.5 – 8.6 | Q1 2027 | Q2 2028 | Q1 2029 |
| 28 | 8.6+ | Q1 2028 | Q2 2029 | Q1 2030 |
(*) Pre-release. Version 25 is not supported once version 26 is released.
Contributing
Valkyrja is an open-source, community-driven project. Thank you for your interest in helping develop, maintain, and release it.
See CONTRIBUTING.md for the submission process and
VOCABULARY.md for the terminology used across Valkyrja.
Security Issues
If you discover a security vulnerability within Valkyrja, please follow our disclosure procedure.
License
Valkyrja is open-source software licensed under the
MIT license. See LICENSE.md.