Skip to content

valkyrjaio/valkyrja-php

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.

PHP Version Require Latest Stable Version License CI Status Scrutinizer Coverage Status Psalm Shepherd Maintainability Rating

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-php GitHub 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:

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.

About

Valkyrja is a fast, light, and robust PHP framework for web and console applications

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages