Estensioni Twig di Symfony

Twig è il motore di template predefinito di Symfony. Contiene già di suo diverse funzioni di libreria, filtri e tag e test (si può approfondire nella guida a Twig).

Symfony aggiunge ulteriori estensioni personalizzate a Twig, per integrare alcuni componenti nei template di Twig. Di seguito sono presenti le informazioni su tutte le funzioni, i filtri, i tag e test aggiunti nel framework Symfony.

Ci sono anche alcuni tag nei bundle, non elencati qui.

Funzioni

render

{{ render(uri, opzioni) }}
uri
tipo: stringa | ControllerReference
opzioni
tipo: array predefinito: []

Renderà il frammento per il controllore o l’URL dato. Per maggiori informazioni, vedere Inserire controllori.

Si può specificare la strategia di resa nella chiave strategy delle opzioni.

Suggerimento

Si può generare l’URI con altre funzioni, come path e url.

render_esi

{{ render_esi(uri, opzioni) }}
uri
tipo: stringa | ControllerReference
opzioni
tipo: array predefinito: []

Genera un tag ESI, se possibile, altrimenti si comporta come la funzione render. Per maggiori informazioni, vedere Inserire controllori.

Suggerimento

Si può generare l’URI con altre funzioni, come path e url.

Suggerimento

La funzione render_esi() è un esempio di funzioni scorciatoia di render. Imposta automaticamente la strategia in base al nome della funzione, p.e. render_hinclude() userà la strategia hinclude.js. Questo vale per tutte le funzioni render_*().

controller

{{ controller(controllore, attributi, query) }}
controllore
tipo: stringa
attributi
tipo: array predefinito: []
query
tipo: array predefinito: []

Restituisce un’istanza di ControllerReference, da usare con funzioni come render() e render_esi().

asset

{{ asset(percorso, nomePacchetto, assoluto = false, versione = null) }}
percorso
tipo: stringa
nomePacchetto
tipo: stringa``|``null predefinito: null
assoluto
tipo: booleano predefinito: false
versione
tipo: stringa predefinito null

Restituisce un percorso pubblico a percorso, che prende in considerazione il percorso base impostato per il pacchetto e il percorso dell’URL. Maggiori informazioni su Collegare le risorse. Per il versionamento, vedere assets_version.

asset_version

{{ asset_version(nomePacchetto) }}
nomePacchetto
tipo: stringa``|``null predefinito: null

Restituisce la versione attuale del pacchetto, maggiori informazioni su Collegare le risorse.

form

{{ form(vista, variabili) }}
view
tipo: FormView
variables
tipo: array predefinito: []

Rende l’HTML di un form completo, maggiori informazioni sulla guida a Twig Form.

form_start

{{ form_start(view, variables) }}
view
tipo: FormView
variables
tipo: array predefinito: []

Rende il tag HTML di apertura di un form, maggiori informazioni sulla guida a Twig Form.

form_end

{{ form_end(view, variables) }}
view
tipo: FormView
variables
tipo: array predefinito: []

Rende il tag HTML di chiusura del form, insieme a tutti i campi che non sono ancora stati resi, maggiori informazioni sulla guida a Twig Form.

form_enctype

{{ form_enctype(view) }}
view
tipo: FormView

Rende l’attributo enctype="multipart/form-data", necessario se il form contiene almeno un campo di caricamento file, maggiori informazioni sulla guida a Twig Form.

form_widget

{{ form_widget(view, variables) }}
view
tipo: FormView
variables
tipo: array predefinito: []

Rende un form completo o uno specifico widget HTML di un campo, maggiori informazioni sulla guida a Twig Form.

form_errors

{{ form_errors(view) }}
view
tipo: FormView

Rende gli errori di un dato campo o gli errori globali, maggiori informazioni sulla guida a Twig Form.

form_label

{{ form_label(view, label, variabili) }}
view
tipo: FormView
label
tipo: stringa predefinito: null
variabili
tipo: array predefinito: []

Rende the label for the given field, mre information in guida a Twig Form.

form_row

{{ form_row(view, variabili) }}
view
tipo: FormView
variabili
tipo: array predefinito: []

Rende la riga (label, errori e widget) del campo dato, maggiori informazioni sulla guida a Twig Form.

form_rest

{{ form_rest(view, variabili) }}
view
tipo: FormView
variabili
tipo: array predefinito: []

Rende tutti campi non ancora resi, maggiori informazioni sulla guida a Twig Form.

csrf_token

{{ csrf_token(intenzione) }}
intenzione
tipo: stringa

Rende un token CSRF. Usare questa funzione se si vuole protezione CSRF senza creare un form.

is_granted

{{ is_granted(ruolo, oggetto, campo) }}
ruolo
tipo: stringa
oggetto
tipo: object
campo
tipo: stringa

Restituisce true se l’utente corrente ha il ruolo richiesto. Si può anche passare un oggetto, che verrà usato dal votante. Maggiori informazioni su Controllo degli accessi nei template.

Nota

Si può anche passare il campo per usare un ACE per uno specifico campo. Approfondire su Visibilità degli Access Control Entry.

logout_path

{{ logout_path(chiave) }}
chiave
tipo: stringa

Genera un URL relativo di logout per il firewall dato.

logout_url

{{ logout_url(chiave) }}
chiave
tipo: stringa

Uguale alla funzione logout_path, ma genera un URL assoluto invece che relativo.

path

{{ path(nome, parametri, relativo) }}
nome
tipo: stringa
parametri
tipo: array predefinito: []
relativo
tipo: booleano predefinito: false

Restituisce l’URL relativo (senza schema e host) per la rotta data. Se relative è abilitato, crea un percorso relativo al percorso attuale. Maggiori informazioni su Collegare le pagine.

url

{{ url(nome, parametri, schemaRelativo) }}
nome
tipo: stringa
parametri
tipo: array predefinito: []
schemaRelativo
tipo: booleano predefinito: false

Restituisce l’URL assoluto (con schema e host) per la rotta data. Se schemaRelativo è abilitato, crea un URL relativo allo schema. Maggiori informazioni su Collegare le pagine.

expression

Crea una Symfony\Component\ExpressionLanguage\Expression in Twig. Vedere “Template Expressions”.

Filtri

humanize

{{ testo|humanize }}
testo
tipo: stringa

Rende leggibile a un umano un nome tecnico (cioè sostituisce i trattini bassi con spazi e mette in maiuscolo le stringhe).

trans

{{ messaggio|trans(parametri, dominio, locale) }}
messaggio
tipo: stringa
parametri
tipo: array predefinito: []
dominio
tipo: stringa predefinito: null
locale
tipo: stringa predefinito: null

Traduce il testo nella lingua attuale. Maggiori informazioni su Translation Filters.

transchoice

{{ message|transchoice(conteggio, parametri, dominio, locale) }}
message
tipo: stringa
conteggio
tipo: intero
parametri
tipo: array predefinito: []
dominio
tipo: stringa predefinito: null
locale
tipo: stringa predefinito: null

Traduce il testo con supporto alla pluralizzazione. Maggiori informazioni su Translation Filters.

yaml_encode

{{ input|yaml_encode(inline, dumpObjects) }}
input
tipo: mixed
inline
tipo: intero predefinito: 0
dumpObjects
tipo: booleano predefinito: false

Trasforma l’input in sintassi YAML. Vedere Scrivere file YAML per maggiori informazioni.

yaml_dump

{{ value|yaml_dump(inline, dumpObjects) }}
value
tipo: mixed
inline
tipo: intero predefinito: 0
dumpObjects
tipo: booleano predefinito: false

Fa lo stesso di yaml_encode(), ma include il tipo nell’output.

abbr_class

{{ classe|abbr_class }}
classe
tipo: stringa

Genera un elemento <abbr> con il nome breve di una classe PHP (il nome FQCN sarà mostrato in un tooltip quando l’utente va sopra all’elemento).

abbr_method

{{ metodo|abbr_method }}
metodo
tipo: stringa

Genera un elemento <abbr> usando la sintassi FQCN::method(). Se metodo è una Closure, verrà invece usata la Closure e se metodo non ha un nome di classe, è mostrato come una funzione (metodo()).

format_args

{{ parametri|format_args }}
parametri
tipo: array

Genera una stringa con i parametri e i rispettivi tipi (in elementi <em>).

format_args_as_text

{{ parametri|format_args_as_text }}
parametri
tipo: array

Uguale al filtro format_args, ma non usa tag.

file_excerpt

{{ file|file_excerpt(riga) }}
file
tipo: stringa
riga
tipo: intero

Genera un estratto di 7 righe attorno alla riga data.

format_file

{{ file|format_file(riga, testo) }}
file
tipo: stringa
riga
tipo: intero
testo
tipo: stringa predefinito: null

Genera il percorso del file in un elemento <a>. Se il percorso è all’interno della cartella radice del kernel, il percorso della cartella radice del kernel è sostituito da kernel.root_dir (mostrando il percorso completo in un tooltip).

format_file_from_text

{{ testo|format_file_from_text }}
testo
tipo: stringa

Usa |format_file <format_file> per migliorare l’output predefinito degli errori PHP.

Tag

form_theme

{% form_theme form risorse %}
form
tipo: FormView
risorse
tipo: array``|``stringa

Imposta le risorse per sovrascrivere il tema del form per l’istanza data della vista del form. Si può usare _self come risorse, per impostarli alla risorsa attuale. Maggiori informazioni su Personalizzare la resa dei form.

trans

{% trans with variabili from dominio into locale %}{% endtrans %}
variabili
tipo: array predefinito: []
dominio
tipo: stringa predefinito: stringa
locale
tipo: stringa predefinito: stringa

Rende la traduzione del contenuto. Maggiori informazioni su Template Twig.

transchoice

{% transchoice conteggio with variabili from dominio into locale %}{% endtranschoice %}
conteggio
tipo: intero
variabili
tipo: array predefinito: []
dominio
tipo: stringa predefinito: null
locale
tipo: stringa predefinito: null

Rende la traduzione del contenuto con supporto alla pluralizzazione, maggiori informazioni su Template Twig.

trans_default_domain

{% trans_default_domain dominio %}
dominio
tipo: stringa

Imposta il dominio predefinito nel template attuale.

stopwatch

{% stopwatch 'nome' %}...{% endstopwatch %}

Misura il tempo di esecuzione del codice all’interno e lo inserisce nella linea temporale di WebProfilerBundle.

Test

selectedchoice

{% if choice is selectedchoice(valore) %}
choice
tipo: ChoiceView
valore
tipo: stringa

Verifica se valore era impostato per il campo di scelta fornito. L’uso di questo è il modo più efficiente.

Variabili globali

app

La variabile app è disponibile ovunque e dà accesso rapido a molti oggetti di uso comune. La variabile app è un’istanza di Symfony\Bundle\FrameworkBundle\Templating\GlobalVariables.

The available attributes are:

  • app.user
  • app.request
  • app.session
  • app.environment
  • app.debug
  • app.security

Nuovo nella versione 2.6: La variabile app.security è deprecata da 2.6. L’utente è già disponibile come app.user e is_granted() è registrata come funzione.

Estensioni di Symfony Standard Edition

Symfony Standard Edition aggiunge alcuni bundle al nucleo di Symfony. Questi bundle possono avere altre estensioni di Twig: