Přidat operátor ‚not‘ do Latte?
- David Grudl
- Nette Core | 8218
Zvažuju do Latte přidat operátor not, slovní obdobu vykřičníku:
{if !$items}žádné položky{/if}
{if not $items}žádné položky{/if}
Obecně mi operátor vykřičník nepřipadá úplně šťastný, protože je
nenápadný a lze jej snadno přehlédnout. Což se sice dá řešit konvencí
psaní s mezerou {if ! $items}
, ale říkám si, že
v šablonách by to asi více slušelo slovu not
.
Oproti vykřičníku bych mu dal nižší prioritu, aby jej bylo možné používat i bez závorek v běžných výrazech jako:
{if not $value in $array} // místo !($value in $array)
{if not $a < $b} // znamená !($a < $b), nikoliv !$a < $b
...
Vyzkoušet jej můžete na fiddle, jako verzi zvolte 3.0.x-dev.
- Marek Bartoš
- Nette Blogger | 1260
Hodila by se tabulka, co všechno se bude vykonávat jinak. Na nějaké složitější podmínky např. s řetězením null coalesce bych se to asi bál používat.
Udělal jsem pár examples pro ostatní
Složené podmínky https://fiddle.nette.org/latte/#…
(beze změny)
Negace výrazů https://fiddle.nette.org/latte/#…
(negace proměnné vyžaduje závorky)
Negace při přiřazení do proměnné https://fiddle.nette.org/latte/#…
(beze změny)
Editoval Marek Bartoš (19. 10. 2022 21:37)
- hrach
- Člen | 1838
Latte bylo vždy prezentováno jako PHP v šabloně, dávalo porovnání
s Twiggem, atp. Já chápu, že toto není první odchylka vůči PHP, ale
přijde mi, že je veskrze zbytečná. Pokud se někomu zdá vykřičník pro
nějaký kontext nepodstatný, je tu plno jiných řešení, od lepšího fontu
a zvýraznění (symboly tučně), po psaní !== true
.