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

valkyrjaio / valkyrja-php / 30722829087
100%

Build:
DEFAULT BRANCH: 26.x
Ran 01 Aug 2026 11:12PM UTC
Jobs 1
Files 1184
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

01 Aug 2026 11:11PM UTC coverage: 100.0%. Remained the same
30722829087

push

github

web-flow
[View] feat!: Configure the view component with typed config contracts (#1047)

# Description

`Valkyrja\Application\Env\Env` is deprecated. It is one non-final class
that holds
about 120 `public const` env variables for every component at once. This
pull
request gives the View component its own typed config contracts. It also
converts
`ViewServiceProvider` to read those contracts.

`ViewServiceProvider` no longer reads `Env`. An application that sets an
`Env::VIEW_*` constant loses that setting, so this change breaks a
public
contract.

This pull request does not change `Env.php`. Each component gets its own
pull
request, and all of those pull requests are independent. A pull request
that
deleted its own constants would conflict with every sibling pull request
on that
one file. `Env` therefore stays in place and goes unread. A later pull
request
removes the whole class.

## The shape

The component config holds only the component-wide setting, and each
renderer
gets its own contract, its own default class, and its own container
binding:

- `ViewConfigContract` holds `defaultRenderer`.
- `ViewPhpConfigContract` holds `phpPath`, `phpFileExtension`, and
`phpPaths`.
- `ViewOrkaConfigContract` holds the five `orka*` settings.
- `ViewTwigConfigContract` holds `twigPaths`, `twigExtensions`, and
  `twigCompiledPath`.

An application that renders with Twig never constructs the Orka
replacements, and
an application that renders with PHP templates never constructs the Twig
compiled
path. The container resolves a renderer config only when something asks
for that
renderer.

Each property carries the renderer name as a prefix, so one application
config
class can implement several of these contracts at once.
`tests/Tests/Fixtures/View/Data/ViewConfigFixture.php` implements all
four.

`getOrkaComponents` now takes the Orka config instead of the env class,
so the
replacement lists come from the config as well.

valkyrjaio/architecture#131 records this shape as a rule... (continued)

55 of 0 new or added lines in 0 files covered. (NaN%)

12746 of 12746 relevant lines covered (100.0%)

24.4 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30722829087.1 01 Aug 2026 11:12PM UTC 1184
100.0
GitHub Action Run
Source Files on build 30722829087
  • Tree
  • List 1184
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30722829087
  • d556c550 on github
  • Prev Build on 26.x (#30722663447)
  • Next Build on 26.x (#30722854124)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc