setono/php-templates-bundle

A Symfony bundle that integrates the php templates library

Installs: 680

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:symfony-bundle

v1.0.0 2020-05-15 13:11 UTC

This package is auto-updated.

Last update: 2021-05-01 00:20:11 UTC


README

Latest Version Latest Unstable Version Software License Build Status Coverage Status Quality Score

This bundle integrates the PHP templates library into Symfony.

Installation

Step 1: Download

$ composer require setono/php-templates-bundle

Step 2: Enable the bundle

If you use Symfony Flex it will be enabled automatically. Else you need to add it to the config/bundles.php:

<?php
// config/bundles.php

return [
    // ...
    Setono\PhpTemplatesBundle\SetonoPhpTemplatesBundle::class => ['all' => true],
    // ...
];

Usage

Service usage

The bundle registers the service setono_php_templates.engine.default and also autowires the interface Setono\PhpTemplates\Engine\EngineInterface to that default engine. This means you can inject the engine just by type hinting the interface:

<?php
use Setono\PhpTemplates\Engine\EngineInterface;

final class YourService
{
    /** @var EngineInterface */
    private $engine;

    public function __construct(EngineInterface $engine) {
        $this->engine = $engine;
    }

    public function __invoke(): string
    {
        return $this->engine->render('YourNamespace/template', [
            'parameter' => 'value'
        ]);
    }
}

Templates

The bundle automatically adds paths to the template engine. It is predefined to src/Resources/views/php for bundles and templates/php for applications.

This means if you put templates (according the correct structure) you can use templates seamlessly as described in the original docs.