Clean Framework · DOCUMENTATION
Source: index.php
Source: index.php
Bounded candidate reference — 2026-10-20: 0.2.0-rc.1 is committed locally through 84f415b3098af5653577b2c65eea31fca21df79c, unpublished and not production-approved; stable PHP >=8.5.11 <8.6.0 is required. This is documentation, not adoption: this knowledge base retains its installed 0.1.0-rc.1 dependency and PHP 8.2.11 local profile. Dated PHP 8.2 evidence is historical; earlier dirty-source reports retain their original test provenance, not retroactive clean-commit proof. Candidate examples are illustrative: API signatures were reviewed, but candidate code was not executed by this editorial update. See current checkpoint, open criteria and adoption boundary.
Origin: examples/reading-list/resources/views/pages/index.php
<?php
declare(strict_types=1);
/** @var callable(mixed):string $e */
/** @var list<array{slug:string,title:string,author:string}> $items */
?>
<h1>Reading List</h1>
<p>This content comes from an application service and repository port.</p>
<ul class="reading-list">
<?php foreach ($items as $item): ?>
<li>
<a href="/reading/<?= $e(rawurlencode($item['slug'])) ?>">
<?= $e($item['title']) ?>
</a>
<span>by <?= $e($item['author']) ?></span>
</li>
<?php endforeach; ?>
</ul>
Editorial provenance
Source: examples/reading-list/resources/views/pages/index.php. Source SHA-256: 32414c594912d272513c9fe861739b11bdcd5f37852f5da98844167c5b6e4133.
Framework candidate reference; editorial checkpoint 2026-10-20. See candidate status and adoption boundary.