Aller au contenu principal
Version: 0.7.3

Créer une fonction

Pour la création d'une nouvelle fonction, tapez la commande php dobby make:twig:function <FunctionName>.

Cette commande va générer la classe suivante :

app/Twig/Functions/MyFunction.php
<?php

namespace Elementum\Theme\Twig\Functions;

use Elementum\Services\Twig\Interface\TwigFunction;

class HelloWorld implements TwigFunction
{
    const NAME = "my_function";
    const ARGS = [];

    public static function call(string $name = 'World')
    {
        return 'Hello ' . $name;
    }
}

La fonction doit retourner une chaîne de caractères.

Utilisation

Une fois la fonction créée, elle peut être utilisée dans un template Twig de la manière suivante :

{{ my_function("John") }}

Arguments

La constante ARGS doit obligatoirement être un tableau pour spécifier des arguments à destination de Twig. Tel que : ['is_safe' => ['html']] par exemple, servant à interpréter l'HTML retourné par la fonction.

Interface TwigFunction

Afin de garantir que les fonctions Twig soient correctement intégrées dans le système, il est nécessaire d'implémenter l'interface TwigFunction.

Cette interface oblige à avoir les constantes suivantes :

  • NAME : Le nom de la fonction
  • ARGS : Les arguments de la fonction

La méthode call est obligatoire et doit retourner une chaîne de caractères.

L'interface oblige à ce que la méthode call prenne uniquement des arguments facultatifs. C'est pourquoi, dans l'exemple, la méthode call prend un argument $name facultatif car elle possède une valeur par défaut.