1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
<?php
/*
* This file is part of the ICanBoogie package.
*
* (c) Olivier Laviale <olivier.laviale@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace ICanBoogie\Binding\Render;
use ICanBoogie\Core;
use ICanBoogie\Render;
use ICanBoogie\Render\EngineCollection;
use ICanBoogie\Render\Renderer;
use ICanBoogie\Render\TemplateResolver;
class Hooks
{
/*
* Events
*/
/**
* Decorates the template resolver with an {@link ApplicationTemplateResolver} instance.
*
* @param TemplateResolver\AlterEvent $event
* @param TemplateResolver $target
*/
static public function alter_template_resolver(TemplateResolver\AlterEvent $event, TemplateResolver $target)
{
$event->instance = new ApplicationTemplateResolver($event->instance, \ICanBoogie\get_autoconfig()['app-paths']);
}
/*
* Prototypes
*/
/**
* Returns an engine collection.
*
* @return EngineCollection
*/
static public function get_template_engines()
{
return Render\get_engines();
}
/**
* Returns a clone of the shared template resolver.
*
* @return TemplateResolver
*/
static public function get_template_resolver()
{
return clone Render\get_template_resolver();
}
/**
* Returns a clone of the shared renderer.
*
* @return Renderer
*/
static public function get_renderer()
{
return clone Render\get_renderer();
}
/**
* Renders a template.
*
* @param Core|CoreBindings $app
* @param mixed $target_or_options
* @param array $additional_options
*
* @return mixed
*/
static public function render(Core $app, $target_or_options, array $additional_options = [])
{
return $app->renderer->render($target_or_options, $additional_options);
}
}