danilovl/static-container-twig-extension-bundle

Symfony twig extension bundle provide sharing data between templates

v3.4.2 2024-03-30 07:55 UTC

README

phpunit downloads latest Stable Version license

StaticContainerTwigExtensionBundle

About

Twig extension provide sharing data between templates.

Requirements

  • PHP 8.3 or higher
  • Symfony 7.0 or higher

1. Installation

Install danilovl/static-container-twig-extension-bundle package by Composer:

composer require danilovl/static-container-twig-extension-bundle

Add the StaticContainerTwigExtensionBundle to your application's bundles if does not add automatically:

<?php
// config/bundles.php

return [
    // ...
    Danilovl\StaticContainerTwigExtensionBundle\StaticContainerTwigExtensionBundle::class => ['all' => true]
];

2. Usage

Create some key with value.

{# templates/first.html.twig #}

{{ static_container_create('key', true) }}
{{ static_container_create('keyObject', object) }}
{{ static_container_create('keyArray', {'one': 1, 'two': 2}) }}
{{ static_container_create('keyWithDefaultValueNull') }}
{{ static_container_create('keyCounter', 1) }}

Control if the key exists in another template.

{# templates/second.html.twig #}

{% if static_container_has('keyCounter') == true %}
    {{ static_container_update('keyCounter', 2) }}
{% endif %}

Control if the key exists and print it.

{# templates/third.html.twig #}

{% if static_container_has('keyCounter') == true %}
   {{ static_container_get('keyCounter') }}
{% endif %}

Remove key.

{# templates/third.html.twig #}
{{ static_container_remove('sameKey') }}

License

The ApplyFilterTwigExtensionBundle is open-sourced software licensed under the MIT license.