• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

valkyrjaio / valkyrja-php / 24926358529
100%

Build:
DEFAULT BRANCH: 26.x
Ran 25 Apr 2026 08:07AM UTC
Jobs 1
Files 1140
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 Apr 2026 08:05AM UTC coverage: 99.792%. Remained the same
24926358529

push

github

web-flow
[Http] Remove route arguments map in favor of ParameterContract values (#781)

## Description

Removes the flat `arguments` map from `RouteContract` and `Route`, which
was a duplicate of values already stored on each `ParameterContract`.
Introduces `getParameter()` and `hasParameter()` on
`DynamicRouteContract` so callers can look up parameter values by name
without an intermediate array. Updates the Http route handler callable
signature to receive the matched `RouteContract` directly instead of an
extracted arguments array.

Also fixes a latent bug in `EntityRouteMatchedMiddleware` where the flat
`$arguments` array and the `ParameterContract` objects could become
misaligned when entity parameters were resolved.

---

## Types of Changes

- [ ] Improvement _(non-breaking change which improves code)_
- [x] Bug fix _(non-breaking change which fixes an issue)_
- [ ] New feature _(non-breaking change which adds functionality)_
- [ ] Deprecation _(breaking change which removes functionality)_
- [x] Breaking change _(fix or feature that would cause existing
functionality to change)_
- [ ] Documentation improvement

---

## Changes

- **`src/Valkyrja/Http/Routing/Data/Contract/RouteContract.php`** —
removed `getArguments()`, `withArguments()`; updated handler callable
type from `callable(ContainerContract, array<string, mixed>):
ResponseContract` to `callable(ContainerContract, RouteContract):
ResponseContract`
- **`src/Valkyrja/Http/Routing/Data/Contract/DynamicRouteContract.php`**
— added `getParameter(string $name): ParameterContract` and
`hasParameter(string $name): bool`
- **`src/Valkyrja/Http/Routing/Data/Route.php`** — removed `$arguments`
field, `getArguments()`, `withArguments()`; updated handler type
annotations
- **`src/Valkyrja/Http/Routing/Data/DynamicRoute.php`** — added
`getParameter()` and `hasParameter()` implementations; updated handler
type annotation
- **`src/Valkyrja/Http/Routing/Matcher/Matcher.php`** — simplified
`processArguments()` t... (continued)

25 of 25 new or added lines in 6 files covered. (100.0%)

12467 of 12493 relevant lines covered (99.79%)

15.83 hits per line

Jobs
ID Job ID Ran Files Coverage
1 24926358529.1 25 Apr 2026 08:07AM UTC 1140
99.79
GitHub Action Run
Source Files on build 24926358529
  • Tree
  • List 1140
  • Changed 10
  • Source Changed 10
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24926358529
  • 9bb4ff97 on github
  • Prev Build on 26.x (#24915997346)
  • Next Build on 26.x (#24947444456)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc