ICanBoogie/bind-render v0.3.0
  • Namespace
  • Class

Namespaces

  • ICanBoogie
    • Binding
      • Render

Classes

  • ApplicationTemplateResolver
  • Hooks
 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 $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);
    }
}
ICanBoogie/bind-render v0.3.0 API documentation generated by ApiGen