The icanboogie/bind-render package binds icanboogie/render to ICanBoogie, using its autoconfig feature. It adds various getters and methods to the Application instance and a template resolver that uses the application paths to look for templates.
<?php
/* @var ICanBoogie\Application $app */
echo get_class($app->template_engines); // ICanBoogie\Render\EngineCollection
echo get_class($app->template_resolver); // ICanBoogie\Binding\Render\ApplicationTemplateResolver
echo get_class($app->renderer); // ICanBoogie\Render\Renderer
$app->render($app->models['articles']->one);
The shared BasicTemplateResolver instance is replaced by an ApplicationTemplateResolver
instance during the TemplateResolver::alter
event of class TemplateResolver\AlterEvent.
ApplicationTemplateResolver extends the template resolver used by icanboogie/render and icanboogie/view to search templates in the application paths (see Multi-site support). Also, the "//" prefix can be used to search for templates from these paths .e.g. "//my/special/templates/_form".
The preferred method to define render engines is using render
config fragments, because they
can be synthesized and cached.
The following example demonstrates how to define and engine for the .phtml
templates:
<?php
// config/render.php
namespace ICanBoogie\Binding\Render;
use ICanBoogie\Render\PHPEngine;
return [
RenderConfig::ENGINES => [
'.phtml' => PHPEngine::class
]
];
The project is continuously tested by GitHub actions.
This project adheres to a Contributor Code of Conduct. By participating in this project and its community, you are expected to uphold this code.
Please see CONTRIBUTING for details.
icanboogie/bind-render is released under the BSD-3-Clause.