alxarafe / resource-html
This package is abandoned and no longer maintained.
The author suggests using the alxarafe/resource-controller package instead.
HTML adapter for alxarafe/resource-controller. Provides a RendererContract implementation using pure PHP and HTML templates.
0.1.0
2026-04-23 08:59 UTC
Requires
- php: ^8.2
- alxarafe/resource-controller: ^0.1
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.5
- squizlabs/php_codesniffer: ^3.10
- vimeo/psalm: ^6.0
README
Warning
DEPRECATED AND OBSOLETE
This package has been deprecated and its functionality has been natively integrated into resource-controller via the DefaultRenderer and static HTML templates.
You no longer need this package. Please remove it from your dependencies.
HTML adapter for alxarafe/resource-controller.
Provides a RendererContract implementation using pure PHP and HTML templates (.phtml or .php).
Ecosystem
| Package | Purpose | Status |
|---|---|---|
| resource-controller | Core CRUD engine + UI components | ✅ Stable |
| resource-eloquent | Eloquent ORM adapter | ✅ Stable |
| resource-pdo | Native PDO adapter | ✅ Stable |
| resource-blade | Blade template renderer adapter | ✅ Stable |
| resource-twig | Twig template renderer adapter | ✅ Stable |
| resource-html | Pure PHP/HTML template renderer adapter | ✅ Stable |
Installation
composer require alxarafe/resource-html
This will also install alxarafe/resource-controller as a dependency.
Usage
use Alxarafe\ResourceHtml\HtmlRenderer; // Create a renderer with template paths $renderer = new HtmlRenderer( templatePaths: [__DIR__ . '/views'] ); // Render a template (automatically resolves .phtml or .php) echo $renderer->render('products/index', [ 'title' => 'Products', 'items' => $products, ]); // Add additional template paths at runtime $renderer->addTemplatePath(__DIR__ . '/module-views');
Template example (views/products/index.phtml)
<h1><?= htmlspecialchars($title) ?></h1> <ul> <?php foreach ($items as $item): ?> <li><?= htmlspecialchars($item['name']) ?> — <?= $item['price'] ?></li> <?php endforeach; ?> </ul> <!-- Include sub-templates recursively using the renderer instance --> <?= $this->render('partials/footer', ['year' => date('Y')]) ?>
Development
Docker
docker compose up -d
docker exec alxarafe-html composer install
Running the CI pipeline locally
bash bin/ci_local.sh
Running tests only
bash bin/run_tests.sh
License
GPL-3.0-or-later