icanboogie/bind-render

Binds icanboogie/render to ICanBoogie

v0.6.0 2018-03-18 00:48 UTC

README

Release Build Status 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 synthesised 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

	]

];

Requirements

The package requires PHP 5.6 or later.

Installation

The recommended way to install this package is through Composer:

$ composer require icanboogie/bind-render

Cloning the repository

The package is available on GitHub, its repository can be cloned with the following command line:

$ git clone https://github.com/ICanBoogie/bind-render.git

Documentation

The package is documented as part of the ICanBoogie framework documentation. You can generate the documentation for the package and its dependencies with the make doc command. The documentation is generated in the build/docs directory. ApiGen is required. The directory can later be cleaned with the make clean command.

Testing

The test suite is ran with the make test command. PHPUnit and Composer need to be globally available to run the suite. The command installs dependencies as required. The make test-coverage command runs test suite and also creates an HTML coverage report in "build/coverage". The directory can later be cleaned with the make clean command.

The package is continuously tested by Travis CI.

Build Status Code Coverage

License

icanboogie/bind-render is licensed under the New BSD License - See the LICENSE file for details.