PHPackages                             valkyrja/application - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. valkyrja/application

ActiveProject[Framework](/categories/framework)

valkyrja/application
====================

The Valkyrja Application.

v26.0.0(1mo ago)0641MITPHPPHP &gt;=8.4CI passing

Since May 20Pushed 3d ago1 watchersCompare

[ Source](https://github.com/valkyrjaio/valkyrja-starter-app-php)[ Packagist](https://packagist.org/packages/valkyrja/application)[ Docs](https://www.valkyrja.io)[ RSS](/packages/valkyrja-application/feed)WikiDiscussions 26.x Synced 6d ago

READMEChangelog (10)Dependencies (8)Versions (28)Used By (0)

[ ![](https://raw.githubusercontent.com/valkyrjaio/art/refs/heads/master/long-banner/orange/php.png)](https://valkyrja.io)

Valkyrja Starter (App)
======================

[](#valkyrja-starter-app)

Starter template for building PHP applications on the [Valkyrja](https://valkyrja.io) framework.

This repository gives you a working Valkyrja application as a starting point — HTTP and CLI kernels pre-wired, example controllers and commands, configuration scaffolding, and a ready-to-customize `App/` namespace. The starter passes the same linting, static analysis, and architectural rules as the Valkyrja framework itself, so you can focus on building your application rather than cleaning up the foundation.

 [![PHP Version Require](https://camo.githubusercontent.com/7a3d3117ba71657d9f4bdfcdf254c7dd32cc7a6dd43933c5ff7f387541bddb56/68747470733a2f2f706f7365722e707567782e6f72672f76616c6b79726a612f6170706c69636174696f6e2f726571756972652f706870)](https://packagist.org/packages/valkyrja/application) [![Latest Stable Version](https://camo.githubusercontent.com/d6e6aa932973f042d84e517e18ca3ca78c07607009cecc7801370f4b1fe19985/68747470733a2f2f706f7365722e707567782e6f72672f76616c6b79726a612f6170706c69636174696f6e2f76)](https://packagist.org/packages/valkyrja/application) [![License](https://camo.githubusercontent.com/6d137c465150cef16dd5464a15a02773b178154c8f2ca9fee5f0acc883263fcb/68747470733a2f2f706f7365722e707567782e6f72672f76616c6b79726a612f6170706c69636174696f6e2f6c6963656e7365)](https://packagist.org/packages/valkyrja/application) [![CI Status](https://github.com/valkyrjaio/valkyrja-starter-app-php/actions/workflows/ci.yml/badge.svg?branch=26.x)](https://github.com/valkyrjaio/valkyrja-starter-app-php/actions/workflows/ci.yml?query=branch%3A26.x) [![Scrutinizer](https://camo.githubusercontent.com/122b7ca32a3f9c022668430c9a009afda8db12c3e64c255334bb15000ea07781/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f76616c6b79726a61696f2f76616c6b79726a612d737461727465722d6170702d7068702f6261646765732f7175616c6974792d73636f72652e706e673f623d32362e78)](https://scrutinizer-ci.com/g/valkyrjaio/valkyrja-starter-app-php/?branch=26.x) [![Psalm Shepherd](https://camo.githubusercontent.com/935b3dd85a642bccafd054ca3c94107f4580652691002fb434e5b630846a816c/68747470733a2f2f73686570686572642e6465762f6769746875622f76616c6b79726a61696f2f76616c6b79726a612d737461727465722d6170702d7068702f636f7665726167652e737667)](https://shepherd.dev/github/valkyrjaio/valkyrja-starter-app-php) [![Maintainability Rating](https://camo.githubusercontent.com/8c74acb6a6803dc526d75a213569b6d3922767633bbe087f69532d02e891d311/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d76616c6b79726a61696f5f6170706c69636174696f6e266d65747269633d7371616c655f726174696e67)](https://sonarcloud.io/summary/new_code?id=valkyrjaio_application)

What's in the Box
-----------------

[](#whats-in-the-box)

- **Pre-wired HTTP and CLI kernels** — the application boots and responds to both web requests and command-line invocations out of the box
- **Example controllers and commands** — working code showing typical routing, request handling, and command dispatch patterns
- **Configuration scaffolding** — `Config/` and `Data/` layers with example files and environment-driven overrides
- **Testing setup** — PHPUnit configured with example tests and the same structure used across Valkyrja's own components
- **Full CI pipeline** — PHPStan, Psalm, PHPCodeSniffer, PHP CS Fixer, PHPArkitect, and Rector all configured and passing on a clean clone
- **Worker runtime integrations** *(optional)* — OpenSwoole, FrankenPHP, or RoadRunner for persistent-worker deployments

Installation
------------

[](#installation)

### Use this template *(recommended)*

[](#use-this-template-recommended)

This repository is a GitHub template. Click the **Use this template** button at the top of the repo to create a new repository in your own account, pre-populated with the starter code.

### Via Composer

[](#via-composer)

```
composer create-project valkyrja/application your-project
cd your-project

```

### Clone manually *(for contributing to the starter itself)*

[](#clone-manually-for-contributing-to-the-starter-itself)

```
git clone git@github.com:valkyrjaio/valkyrja-starter-app-php.git
cd valkyrja-starter-app-php
composer install

```

Getting Started
---------------

[](#getting-started)

### Project Structure

[](#project-structure)

The key directories you'll work in:

```
app/
├── src/
│   └── App/           # your application code lives here
│       ├── Cli/       # CLI commands, providers, and configuration
│       └── Http/      # HTTP controllers, providers, and configuration
├── bootstrap/         # application entry points (HTTP and CLI)
├── config/            # environment and runtime configuration
└── tests/             # your test suite

```

Your application code goes in the `App\` namespace under `app/src/App/`. The starter provides example HTTP controllers and CLI commands you can study, modify, or replace.

### Running Your Application

[](#running-your-application)

**HTTP (built-in PHP server):**

```
php -S localhost:8080 -t bootstrap/http

```

Navigate to `http://localhost:8080` to see the example routes.

**CLI:**

```
php bootstrap/cli/valkyrja

```

Run with no arguments to see the list of available commands.

### Writing Code

[](#writing-code)

**Adding a route:** see the example controller in `app/src/App/Http/Controller/`and the route definitions it registers. For the full routing API, see the [Valkyrja HTTP documentation](https://github.com/valkyrjaio/valkyrja-php/tree/26.x/src/Valkyrja/Http/README.md).

**Adding a command:** see the example command in `app/src/App/Cli/Command/`. For the full CLI API, see the [Valkyrja CLI documentation](https://github.com/valkyrjaio/valkyrja-php/tree/26.x/src/Valkyrja/Cli/README.md).

**Binding services:** the dependency injection container is configured in the `Provider` classes under each `App/` subdirectory. See the [Valkyrja container documentation](https://github.com/valkyrjaio/valkyrja-php/tree/26.x/src/Valkyrja/Container/README.md) for the full API.

### Running Tests

[](#running-tests)

```
composer phpunit

```

For coverage:

```
composer phpunit-coverage

```

### Running CI Checks Locally

[](#running-ci-checks-locally)

The starter ships with the same CI pipeline as the Valkyrja framework. Run any check via its composer script:

```
composer phpstan
composer psalm
composer phpcodesniffer
composer phpcsfixer
composer phparkitect
composer rector

```

Deployment
----------

[](#deployment)

The starter runs on any PHP 8.4+ environment. For production, Valkyrja supports several persistent-worker runtimes for significantly better performance than traditional PHP-FPM:

- [**OpenSwoole**](https://github.com/valkyrjaio/valkyrja-openswoole-php) — persistent worker via the OpenSwoole extension
- [**FrankenPHP**](https://github.com/valkyrjaio/valkyrja-frankenphp-php) — persistent worker via the FrankenPHP embedded runtime
- [**RoadRunner**](https://github.com/valkyrjaio/valkyrja-roadrunner-php) — persistent worker via the Go-based RoadRunner manager

See each integration's README for setup instructions specific to that runtime. For containerized deployment, [`valkyrja-docker-php`](https://github.com/valkyrjaio/valkyrja-docker-php) provides ready-made Docker configurations.

Documentation
-------------

[](#documentation)

Full Valkyrja documentation lives in the [framework repository](https://github.com/valkyrjaio/valkyrja-php/tree/26.x/src/Valkyrja/README.md) and is baked into the source tree so you can browse it offline.

For starter-specific questions, open an issue on this repository. For framework questions, open an issue on the [Valkyrja framework repository](https://github.com/valkyrjaio/valkyrja-php).

Contributing
------------

[](#contributing)

Contributions to the starter itself — improvements to the example code, bug fixes, CI improvements — are welcome. See [`CONTRIBUTING.md`](https://github.com/valkyrjaio/.github/blob/master/CONTRIBUTING.md) for the submission process and [`VOCABULARY.md`](https://github.com/valkyrjaio/.github/blob/master/VOCABULARY.md) for the terminology used across Valkyrja.

License
-------

[](#license)

The Valkyrja framework and this starter are open-source software licensed under the [MIT license](https://opensource.org/licenses/MIT). See [`LICENSE.md`](./LICENSE.md).

###  Health Score

55

—

FairBetter than 98% of packages

Maintenance95

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity91

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 96.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~164 days

Recently: every ~13 days

Total

21

Last Release

8d ago

Major Versions

v0.9.0 → v25.0.02025-12-12

v25.34.4 → v26.0.02026-03-26

PHP version history (2 changes)v0.3PHP &gt;=7.1

v25.0.0PHP &gt;=8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/fbb43a59fb790365b014e53f82e3f26893867e4a47a249fc92962b6dc76878f2?d=identicon)[MelechMizrachi](/maintainers/MelechMizrachi)

---

Top Contributors

[![MelechMizrachi](https://avatars.githubusercontent.com/u/1179171?v=4)](https://github.com/MelechMizrachi "MelechMizrachi (900 commits)")[![valkyrja-volundr[bot]](https://avatars.githubusercontent.com/in/2462900?v=4)](https://github.com/valkyrja-volundr[bot] "valkyrja-volundr[bot] (37 commits)")

---

Tags

applicationvalkyrja

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/valkyrja-application/health.svg)

```
[![Health](https://phpackages.com/badges/valkyrja-application/health.svg)](https://phpackages.com/packages/valkyrja-application)
```

###  Alternatives

[fuel/fuel

FuelPHP is a simple, flexible, community driven PHP 5.4+ framework, based on the best ideas of other frameworks, with a fresh start!

1.5k42.3k](/packages/fuel-fuel)[contributte/application

Extra contrib to nette/application

352.8M7](/packages/contributte-application)[vova07/yii2-start

Yii2-Start it's a small Yii 2 application template for your fast project start.

26811.1k7](/packages/vova07-yii2-start)[joomla/application

Joomla Application Package

23404.8k11](/packages/joomla-application)[yiisoft/yii-http

Yii HTTP Application

10211.1k16](/packages/yiisoft-yii-http)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
