FormatExtension
extends TICTwigExtension
in package
Filtres et fonctions twig de formattage et conversions.
https://symfony.com/doc/current/templating/twig_extension.html
Table of Contents
Properties
- $strings : mixed
- $translator : mixed
- $urlHelper : mixed
Methods
- __construct() : mixed
- asciifyFilter() : string
- Retourne une chaine ASCII en convertissant les caractères étendus.
- booleanFilter() : string
- Retourne le libellé d'un booléen (ou null) correspondant à la variable (token traduisible).
- boolvalFilter() : mixed
- civFilter() : mixed
- Formattage d'une civilité dans sa version traduite à partir de son code interne.
- colorFilter() : mixed
- Formattage d'un aperçu en HTML d'une couleur (avec ou sans son code).
- counterFilter() : int|float
- Retourne une quantité à partir d'une variable de type quelconque (intval, floatval, count...).
- eReplaceFilter() : string
- Application d'une RegExp de substitution.
- euroFilter() : mixed
- Formattage d'un prix pour affichage en euros.
- getFilters() : array<string|int, mixed>
- getFunctions() : array<string|int, mixed>
- hsizeFilter() : string
- Formattage d'un quantité d'octets pour affichage "pour humain" (avec l'unité la plus proche).
- iconFilter() : string
- Génération d'un tag HTML pour afficher un icone FontAwesome ou Bootstrap (avec quelques alias utiles).
- jsvalueFilter() : string
- Transformation d'une variable PHP quelque soit son type pour son affichage en Javascript (avec échappements).
- labelizeFilter() : mixed
- Génération automatique d'un libellé (token de traduction) à partir d'un champ de formulaire.
- linkurlFilter() : string|null
- Affichage d'un lien HTML avec son libellé cliquable pour une URL.
- lnumFilter() : mixed
- Formattage d'un nombre (selon les règles d'affichage françaises).
- mailtoFilter() : string
- Affichage d'un lien HTML avec son libellé cliquable pour une (ou plusieurs) adresse(s) email.
- numStepFilter() : mixed
- Validation/transformation d'un nombre pour respecter un "pas" (multiplieur).
- obfuscateFilter() : mixed
- Transformation d'une chaine de caractère en code Javascript son camouflage dans une page HTML (utile pour emails).
- pathEncodeFilter() : mixed
- Encodage pour échappements de chaques parties du chemin d'une URL (en conservant les '/').
- phoneFilter() : string
- Formattage d'un numéro de téléphone pour affichage.
- priceFilter() : string|null
- Formattage d'un prix pour affichage
- rolesFilter() : mixed
- Formattage du (ou des) rôle(s) d'un utilisateur en utilisant les traductions.
- slugifyFilter() : string
- Retourne une chaine canonisée à partir d'une chaine donnée.
- stringifyFilter() : mixed
- Transformation d'une variable PHP quelque soit son type dans sa forme correspondante en chaine de caractères.
- transListFilter() : array<string|int, mixed>
- Application du filtre de traduction (trans) sur une liste de valeurs.
- getBool() : mixed
- Retourne l'équivalent booléen (ou null) d'une variable quelconque.
- getIcon() : string
- Génération d'un tag HTML pour afficher un icone FontAwesome ou Bootstrap (avec quelques alias utiles).
- getText() : string
- Retourne une chaine texte à partir d'une variable (avec traduction et échappements HTML possibles).
- htmlAttr() : string
- Conversion d'un hachage en une chaine d'attributs insérable dans un tag HTML.
- trans() : string
- Recherche la traduction d'un texte (si le service $translator est disponible).
Properties
$strings
protected
static mixed
$strings
= ['true' => 'ext.boolean.true', 'false' => 'ext.boolean.false', 'null' => null]
$translator
protected
mixed
$translator
$urlHelper
protected
mixed
$urlHelper
Methods
__construct()
public
__construct([TranslatorInterface $translator = null ]) : mixed
Parameters
- $translator : TranslatorInterface = null
asciifyFilter()
Retourne une chaine ASCII en convertissant les caractères étendus.
public
asciifyFilter(string $text) : string
Parameters
- $text : string
-
Texte en UTF-8 à transformer
Return values
string —Chaine équivalente avec les caractères 7 bits
booleanFilter()
Retourne le libellé d'un booléen (ou null) correspondant à la variable (token traduisible).
public
booleanFilter(mixed $value[, string $default = '-' ][, bool $trans = false ]) : string
Parameters
- $value : mixed
-
Variable à interpréter pour retourner un état booléen (true/false/null)
- $default : string = '-'
-
Libellé à retourner si aucune correspondance booléenne trouvée pour $value
- $trans : bool = false
-
Recherche d'une traduction pour le token $value (si c'est une chaine)
Return values
string —Libellé d'un booléen (token traduisible ou déjà traduit)
boolvalFilter()
public
boolvalFilter(mixed $value, mixed $true_val[, mixed $false_val = "" ]) : mixed
Parameters
- $value : mixed
- $true_val : mixed
- $false_val : mixed = ""
civFilter()
Formattage d'une civilité dans sa version traduite à partir de son code interne.
public
civFilter(mixed $value[, mixed $abbr = false ][, mixed $trans = true ]) : mixed
Parameters
- $value : mixed
- $abbr : mixed = false
- $trans : mixed = true
colorFilter()
Formattage d'un aperçu en HTML d'une couleur (avec ou sans son code).
public
colorFilter(mixed $color[, mixed $with_label = false ]) : mixed
Parameters
- $color : mixed
- $with_label : mixed = false
counterFilter()
Retourne une quantité à partir d'une variable de type quelconque (intval, floatval, count...).
public
counterFilter(mixed $value) : int|float
Parameters
- $value : mixed
-
Valeur dont une quantité est à déterminer
Tags
Return values
int|float —Valeur numérique (ou null si indéterminé)
eReplaceFilter()
Application d'une RegExp de substitution.
public
eReplaceFilter(string $subject, string $pattern, string $replacement) : string
Parameters
- $subject : string
- $pattern : string
- $replacement : string
Return values
stringeuroFilter()
Formattage d'un prix pour affichage en euros.
public
euroFilter(mixed $number[, mixed $default = null ]) : mixed
Parameters
- $number : mixed
- $default : mixed = null
getFilters()
public
getFilters() : array<string|int, mixed>
Return values
array<string|int, mixed>getFunctions()
public
getFunctions() : array<string|int, mixed>
Return values
array<string|int, mixed>hsizeFilter()
Formattage d'un quantité d'octets pour affichage "pour humain" (avec l'unité la plus proche).
public
hsizeFilter(int $bytes[, array<string|int, mixed> $units = null ][, int $prec = 1 ][, int $base = 2 ]) : string
Parameters
- $bytes : int
-
Valeur en octets
- $units : array<string|int, mixed> = null
-
Liste des unités (liste par défaut si non array)
- $prec : int = 1
-
Précision (nombre de décimales)
- $base : int = 2
-
Calculs en base 2 ou en base 10
Return values
stringiconFilter()
Génération d'un tag HTML pour afficher un icone FontAwesome ou Bootstrap (avec quelques alias utiles).
public
iconFilter(string $name[, string $state = '' ]) : string
Parameters
- $name : string
-
Classe Bootstrap ou FontAwesome (ex 'fas-user', 'fab-user', 'envelope', 'ban-circle'...)
- $state : string = ''
-
Ajout d'une classe de type 'text-
' (ex: primary, info, success, warning, danger)
Return values
stringjsvalueFilter()
Transformation d'une variable PHP quelque soit son type pour son affichage en Javascript (avec échappements).
public
jsvalueFilter(mixed $value) : string
Parameters
- $value : mixed
Return values
stringlabelizeFilter()
Génération automatique d'un libellé (token de traduction) à partir d'un champ de formulaire.
public
labelizeFilter(mixed $view_or_data[, mixed $type = 'label' ]) : mixed
Parameters
- $view_or_data : mixed
- $type : mixed = 'label'
linkurlFilter()
Affichage d'un lien HTML avec son libellé cliquable pour une URL.
public
linkurlFilter(string|null $url[, string|null $label = null ]) : string|null
Parameters
- $url : string|null
- $label : string|null = null
Return values
string|nulllnumFilter()
Formattage d'un nombre (selon les règles d'affichage françaises).
public
lnumFilter(mixed $number[, mixed $precision = null ]) : mixed
Parameters
- $number : mixed
- $precision : mixed = null
mailtoFilter()
Affichage d'un lien HTML avec son libellé cliquable pour une (ou plusieurs) adresse(s) email.
public
mailtoFilter(string|array<string|int, mixed> $emails[, string|bool $label = false ][, string $glue = ', ' ]) : string
Parameters
- $emails : string|array<string|int, mixed>
-
Adresse(s) email(s) à afficher (séparateur virgule sur chaine)
- $label : string|bool = false
-
Texte à afficher sur le lien, null pour laisser la valeur source ou booléen pour valeur formattée (true=complet / false=adresse seul)
- $glue : string = ', '
-
Séparateur pour la concaténation des adresses retournées (json_encode si null)
Return values
string —Chaine HTML avec la (ou les) adresse(s) avec lien mailto: (si adresse reconnue)
numStepFilter()
Validation/transformation d'un nombre pour respecter un "pas" (multiplieur).
public
numStepFilter(mixed $number[, mixed $step = 5 ][, mixed $default = '' ]) : mixed
Parameters
- $number : mixed
- $step : mixed = 5
- $default : mixed = ''
obfuscateFilter()
Transformation d'une chaine de caractère en code Javascript son camouflage dans une page HTML (utile pour emails).
public
obfuscateFilter(mixed $string[, mixed $delta = null ]) : mixed
Parameters
- $string : mixed
- $delta : mixed = null
pathEncodeFilter()
Encodage pour échappements de chaques parties du chemin d'une URL (en conservant les '/').
public
pathEncodeFilter(mixed $url) : mixed
Parameters
- $url : mixed
phoneFilter()
Formattage d'un numéro de téléphone pour affichage.
public
phoneFilter(mixed $value[, string $default = '—' ][, bool $html = true ][, mixed $inter = '' ]) : string
Parameters
- $value : mixed
-
Variable à formatter comme numéro de téléphone (liste possible)
- $default : string = '—'
-
Libellé à retourner si la valeur est vide
- $html : bool = true
-
Utilisation d'entités HTML dans le formatage (activé par défaut !)
- $inter : mixed = ''
-
Préfixe international à ajouter (aucun par défaut, "+33" si true)
Return values
string —Numéro(s) de téléphone formattés (séparés par "\n" si plusieurs)
priceFilter()
Formattage d'un prix pour affichage
public
priceFilter(mixed $number[, mixed $default = null ][, string $devise = ' €' ][, string $space = ' ' ]) : string|null
Parameters
- $number : mixed
- $default : mixed = null
- $devise : string = ' €'
- $space : string = ' '
Return values
string|nullrolesFilter()
Formattage du (ou des) rôle(s) d'un utilisateur en utilisant les traductions.
public
rolesFilter(mixed $roles[, mixed $join = false ][, mixed $trans = true ]) : mixed
Parameters
- $roles : mixed
- $join : mixed = false
- $trans : mixed = true
slugifyFilter()
Retourne une chaine canonisée à partir d'une chaine donnée.
public
slugifyFilter(string $text) : string
Parameters
- $text : string
-
Texte en UTF-8 à slugifier
Return values
string —Slug avec uniquement les caractères [a-z], [0-9], '.', '_' et '-'
stringifyFilter()
Transformation d'une variable PHP quelque soit son type dans sa forme correspondante en chaine de caractères.
public
stringifyFilter(mixed $value) : mixed
Parameters
- $value : mixed
transListFilter()
Application du filtre de traduction (trans) sur une liste de valeurs.
public
transListFilter(array<string|int, mixed> $values) : array<string|int, mixed>
Parameters
- $values : array<string|int, mixed>
Return values
array<string|int, mixed>getBool()
Retourne l'équivalent booléen (ou null) d'une variable quelconque.
protected
getBool(mixed $value[, mixed $default = null ]) : mixed
Parameters
- $value : mixed
-
Variable à convertir en booléen
- $default : mixed = null
-
Valeur à retourner si la conversion échoue
getIcon()
Génération d'un tag HTML pour afficher un icone FontAwesome ou Bootstrap (avec quelques alias utiles).
protected
getIcon(string $name[, string $state = '' ]) : string
Parameters
- $name : string
-
Classe Bootstrap ou FontAwesome (ex 'fas-user', 'fab-user', 'envelope', 'ban-circle'...)
- $state : string = ''
-
Ajout d'une classe de type 'text-
' (ex: primary, info, success, warning, danger)
Return values
stringgetText()
Retourne une chaine texte à partir d'une variable (avec traduction et échappements HTML possibles).
protected
getText(mixed $value[, bool $trans = false ][, bool $escape = false ]) : string
Parameters
- $value : mixed
-
Variable à convertir en texte
- $trans : bool = false
-
Recherche d'une traduction (si c'est une chaine valide)
- $escape : bool = false
-
Appliquer les échappements HTML
Return values
string —Chaine de texte correspondante
htmlAttr()
Conversion d'un hachage en une chaine d'attributs insérable dans un tag HTML.
protected
htmlAttr([array<string|int, mixed> $attr = array() ]) : string
Parameters
- $attr : array<string|int, mixed> = array()
-
Liste d'attributs HTML en clé/valeur
Return values
string —Code HTML contenant les attributs d'un tag
trans()
Recherche la traduction d'un texte (si le service $translator est disponible).
protected
trans(string $token) : string
Parameters
- $token : string
-
Chaine de texte à traduire
Return values
string —Chaine de texte traduite