Nekonzistentní chování {expression} a {!expression}
- kukulich
- Člen | 58
V poslední verzi na githubu existuje nekonzistence v chování
{expression}
a {!expression}
Funguje:
{!'<br>'|repeat:2}
Výstup:
<br><br>
Nefunguje:
{'-'|repeat:2}
Výstup:
{'-'|repeat:2}
Donedávna ještě nefungovala ani první varianta. Ta zřejmě začala
fungovat po přepsání Latte. Otázkou je jestli omylem nebo schválně. Podle
https://latte.nette.org/cs/tags#…
asi spíš omylem. Osobně se mi tohle fungování ale líbí, takže bych se
spíš přimlouval, aby fungovalo i pro {expression}
.
- kukulich
- Člen | 58
Mikulas Dite napsal(a):
A tam být spíš
{='-'|repeat:2}
?
Tohle sice funguje, ale podle nové dokumentace to neexistuje https://latte.nette.org/cs/tags. Proto to považuji spíš za deprecated feature.
- Mikulas Dite
- Člen | 756
Imho je to chyba, na masteru je to teď takhle: https://api.nette.org/…eMacros.html
...
{$variable} with escaping
{!$variable} without escaping
{=expression} echo with escaping
{!=expression} echo without escaping
...
Edit: samozřejmě myslím chybu dokumentace
Editoval Mikulas Dite (11. 6. 2011 0:00)
- kukulich
- Člen | 58
Na dokumentaci v kódu jsem se nechtěl spoléhat, protože tady https://api.nette.org/…ros.php.html#22 je třeba mnohem méně maker, než daná třída instaluje.
Prostě asi bude muset říct David, co je správně.
Podobně třeba makro {var}
.
V kódu {var var => value}
https://api.nette.org/…ros.php.html#37
V dokumentaci {var var = value}
https://latte.nette.org/cs/tags#…
Podle kódu https://api.nette.org/…ros.php.html#320 sice funguje obojí, ale momentálně prostě nevím, jestli jedna syntaxe je preferovaná a druhá deprecated, nebo jsou obě podporované a pak by také obě měly být zmíněné v dokumentaci.
- David Grudl
- Nette Core | 8228
Kvůli kombinování JavaScriptu s Latte se záměrně {'
ignoruje, v tomto případě je lepší uvést {=expression}