icanboogie/bind-render

Binds icanboogie/render to ICanBoogie

v5.0.0 2022-04-13 20:48 UTC

This package is auto-updated.

Last update: 2024-04-23 00:02:03 UTC


README

Release Code Quality Code Coverage Packagist

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.

Enhanced template resolver

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".

Defining engines using render config fragments

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

	]

];

Continuous Integration

The project is continuously tested by GitHub actions.

Tests Static Analysis Code Style

Code of Conduct

This project adheres to a Contributor Code of Conduct. By participating in this project and its community, you are expected to uphold this code.

Contributing

Please see CONTRIBUTING for details.

License

icanboogie/bind-render is released under the BSD-3-Clause.