2017 © Pedro Peláez
 

library equip-twig

The Twig integration for the Equip framework

image

alexmasterov/equip-twig

The Twig integration for the Equip framework

  • Saturday, January 7, 2017
  • by AlexMasterov
  • Repository
  • 0 Watchers
  • 0 Stars
  • 86 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 0 Open issues
  • 8 Versions
  • 0 % Grown

The README.md

Equip Twig

Latest Stable Version License Build Status Code Coverage Scrutinizer Code Quality, (*1)

The Twig integration for the Equip., (*2)

Installation

The suggested installation method is via composer:, (*3)

composer require alexmasterov/equip-twig

Configuration

To use the TwigFormatter implementation you need to add TwigConfiguration into the application bootstrap:, (*4)

Equip\Application::build()
->setConfiguration([
    // ...
    AlexMasterov\EquipTwig\Configuration\TwigConfiguration::class
])
// ...

Setting up the Twig environment:

Optional configuration, via a .env file:, (*5)

TWIG_TEMPLATES = "../Resources/templates"
TWIG_CACHE = "../var/cache/twig"
TWIG_DEBUG = false
TWIG_AUTO_RELOAD = true
TWIG_STRICT_VARIABLES = false
TWIG_FILE_EXTENSIONS = "html.twig,twig"

Default configuration, via dependency injector:, (*6)

// src/Configuration/TwigConfiguration.php
namespace Acme\Configuration;

use Auryn\Injector;
use Equip\Env;
use Equip\Configuration\ConfigurationInterface;
use AlexMasterov\EquipTwig\Configuration\TwigConfiguration;

class TwigEnvConfiguration implements ConfigurationInterface
{
    public function apply(Injector $injector)
    {
        $twigEnv = new Env([
                'TWIG_TEMPLATES'        => __DIR__.'/../Resources/templates',
                'TWIG_CACHE'            => __DIR__.'/../../var/cache/twig',
                'TWIG_DEBUG'            => false,
                'TWIG_AUTO_RELOAD'      => true,
                'TWIG_STRICT_VARIABLES' => false,
                'TWIG_FILE_EXTENSIONS'  => 'html.twig,twig'
            ]);

        $injector->define(TwigConfiguration::class, [
            ':env' => $twigEnv
        ]);
    }
}

```php Equip\Application::build() ->setConfiguration([ // ... Acme\Configuration\TwigEnvConfiguration::class, AlexMasterov\EquipTwig\Configuration\TwigConfiguration::class ]) // ..., (*7)

### Adding extensions
The easiest way to add an extensions is by using the [`TwigExtensionSet`](https://github.com/AlexMasterov/equip-twig/blob/master/src/Configuration/TwigExtensionSet.php) as in the example below:
```php
// src/Configuration/ExtraTwigExtension.php
namespace Acme\Configuration;

use AlexMasterov\EquipTwig\Configuration\TwigExtensionSet;

class AppTwigExtension extends TwigExtensionSet
{
    public function __construct()
    {
        parent::__construct([
            AppExtension::class
        ]);
    }
}

```php Equip\Application::build() ->setConfiguration([ // ... AlexMasterov\EquipTwig\Configuration\TwigConfiguration::class, Acme\Configuration\AppTwigExtension::class ]) // ..., (*8)

## Usage
Basic example:
```php
namespace Acme\Action;

use AlexMasterov\EquipTwig\TwigFormatter;
use Equip\Contract\ActionInterface;

class DoItAction implements ActionInterface
{
    private $formatter;

    public function __construct(TwigFormatter $formatter)
    {
        $this->formatter = $formatter;
    }

    public function __invoke(
        ServerRequestInterface $request,
        ResponseInterface $response
    ) {
        $response = $response->withHeader('Content-Type', $formatter->type());
        $payload = $this->formatter
            ->withTemplate('doit')
            ->format([
                'message' => 'Just do it!'
            ]);

        $body = $response->getBody();
        $body->write($payload);

        return $response;
    }
}

The Versions

07/01 2017

2.0.x-dev

2.0.9999999.9999999-dev https://github.com/AlexMasterov/equip-twig

The Twig integration for the Equip framework

  Sources   Download

MIT

The Requires

 

by Alex Masterov

twig formatter renderer equip

07/01 2017

2.1.0

2.1.0.0 https://github.com/AlexMasterov/equip-twig

The Twig integration for the Equip framework

  Sources   Download

MIT

The Requires

 

by Alex Masterov

twig formatter renderer equip

07/01 2017

dev-master

9999999-dev https://github.com/AlexMasterov/equip-twig

The Twig integration for the Equip framework

  Sources   Download

MIT

The Requires

 

by Alex Masterov

twig formatter renderer equip

07/01 2017

3.1.0

3.1.0.0 https://github.com/AlexMasterov/equip-twig

The Twig integration for the Equip framework

  Sources   Download

MIT

The Requires

 

by Alex Masterov

twig formatter renderer equip

07/01 2017

1.0.x-dev

1.0.9999999.9999999-dev https://github.com/AlexMasterov/equip-twig

The Twig integration for the Equip framework

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alex Masterov

twig formatter renderer equip

04/01 2017

3.0.0

3.0.0.0 https://github.com/AlexMasterov/equip-twig

The Twig integration for the Equip framework

  Sources   Download

MIT

The Requires

 

by Alex Masterov

twig formatter renderer equip

04/01 2017

1.0.0

1.0.0.0 https://github.com/AlexMasterov/equip-twig

The Twig integration for the Equip framework

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alex Masterov

twig formatter renderer equip

04/01 2017

2.0.0

2.0.0.0 https://github.com/AlexMasterov/equip-twig

The Twig integration for the Equip framework

  Sources   Download

MIT

The Requires

 

by Alex Masterov

twig formatter renderer equip