onnerby / doerender
A simple nested view pattern
Installs: 7
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/onnerby/doerender
Requires (Dev)
- phpunit/phpunit: ^8
This package is auto-updated.
Last update: 2025-10-10 02:57:14 UTC
README
A simple nested view pattern
Doe\Render
Installation
composer require onnerby/doerender
Basic example
\Doe\Render::$basePath = __DIR__ . '/views/'; $renderer = \Doe\Render::nestedView() ->add('layout.php', ['title' => 'Default title']); $renderer->add('embed_view.php', ['viewdata' => 'Stuff']); echo $renderer->render();
layout.php
<html> <head> <title><?= $title ?></title> </head> <body> <?= $content /* $content is always the embedded next view */ ?> </body> </html>
embeded_view.php
<h1><?= $viewdata ?></h1>
will produce
<html> <head> <title>Default title</title> </head> <body> <h1>Stuff</h1> </body> </html>
Advanced example
\Doe\Render::$basePath = __DIR__ . '/views/'; $renderer = \Doe\Render::nestedView() ->add('layout.php', ['title' => 'Default title']); // If you can't access the renderer, we have a helper \Doe\Render::nestedView()->add('embed_view.php', ['viewdata' => 'Stuff']); // Arguments in higher view can be overwritten by a third argument \Doe\Render::nestedView()->add('final_view.php', ['finaldata' => 'Other Stuff'], ['title' => 'Special final_view title']); echo \Doe\Render::nestedView()->render();