Czy ktoś wie, jak połączyć łańcuchy w gałązkę? Chcę zrobić coś takiego:
{{ concat('http://', app.request.host) }}
syntax
twig
string-concatenation
templating
stoefln
źródło
źródło
{% set foo = 'http://' ~ app.request.host %}
. : A potem można zrobić:{{ foo | trans }}
.{{ form_open('admin/files/?path='~file_path|urlencode)|raw }}
Nie potrzeba dodatkowej zmiennej.Również mało znaną funkcją w Twig jest interpolacja łańcuchów :
źródło
Operatorem, którego szukasz, jest Tilde (~), jak powiedział Alessandro, a oto dokumentacja:
A oto przykład gdzieś w dokumentach :
źródło
W tym przypadku, gdy chcesz wyprowadzić zwykły tekst i zmienną, możesz to zrobić w następujący sposób:
Jeśli chcesz połączyć niektóre zmienne, rozwiązanie alessandro1997 byłoby znacznie lepsze.
źródło
Jak widać, działa to z filtrami i funkcjami bez konieczności używania
set
osobnej linii.źródło
Ilekroć musisz użyć filtru z połączonym łańcuchem (lub podstawową operacją matematyczną), powinieneś owinąć go za pomocą (). Na przykład.:
{{ ('http://' ~ app.request.host) | url_encode }}
źródło
W Symfony możesz użyć tego dla protokołu i hosta:
Chociaż @ alessandro1997 udzielił doskonałej odpowiedzi na temat konkatenacji.
źródło
Możesz użyć
~
jak{{ foo ~ 'inline string' ~ bar.fieldName }}
Ale możesz także utworzyć własną
concat
funkcję, aby używać jej tak jak w pytaniu{{ concat('http://', app.request.host) }}
:W
src/AppBundle/Twig/AppExtension.php
W
app/config/services.yml
:źródło
Szybka odpowiedź (TL; DR)
format()
filtraSzczegółowa odpowiedź
Kontekst
Problem
format
filtrze, który jest bardziej ekspresyjnyRozwiązanie
format
filtraformat
Filtr działa jaksprintf
funkcja w innych językach programowaniaformat
Filtr może być mniej uciążliwe niż operator ~ o bardziej złożonych łańcuchówPrzykład 00
przykład00 ciąg konkat gołe
Przykład 01
przykład01 łańcuch łączący z interweniującym tekstem
Przykład 02
podlega tej samej składni, co
sprintf
w innych językachZobacz też
źródło
Aby mieszać ciągi, zmienne i tłumaczenia, po prostu wykonuję następujące czynności:
Mimo wszystko pomieszane, działa jak urok.
źródło
Separator „{{...}}” może być również używany w ciągach znaków:
źródło