Virtuální operátor IN pro šablony
- pekelnik
- Člen | 462
Po delší době se hlásím z fronty :)
Šablony již nyní podporují zkrácený zápis pro pole:
{foreach ['banana', 'apple'] as $fruit}
...
Nyní mne napadlo, že by se k tomu hodil operátor IN:
{foreach ['banana', 'apple'] as $fruit}
{if $fruit in ['front light', 'rear light']}
...
nebo
{if $module in ['admin', 'client', 'import']}
...
Především pro práci se šablonami by to bylo super. Překlad do PHP by
mohl být nejspíš in_array(%%, array(%%))
Co myslíte?
Editoval pekelnik (6. 1. 2011 15:31)
- Mikulas Dite
- Člen | 756
Prima!
A co teprve
{foreach $fruit in ['banana', 'apple']}
Edit: vneslo by to nejednoznačnost, já vim. Ale nerad čtu
foreach $container as $item
atp., protože to nedává smysl.
pro každý kontejner
je blbost, když ten je jenom jeden a teprve
vevnitř obsahuje nějaký iterator.
Editoval Mikulas Dite (6. 1. 2011 16:42)
- pekelnik
- Člen | 462
Mikulas Dite napsal(a):
Prima!
A co teprve
{foreach $fruit in ['banana', 'apple']}
Edit: vneslo by to nejednoznačnost, já vim. Ale nerad čtu
foreach $container as $item
atp., protože to nedává smysl.pro každý kontejner
je blbost, když ten je jenom jeden a teprve vevnitř obsahuje nějaký iterator.
Tohle už funguje pouze je tam AS ne IN…
- Honza Marek
- Člen | 1664
mkoubik napsal(a):
A co teprv udělat kompilátor nějakýho slušnýho jazyka do php?
Já to řikám furt.
- Jakub Lédl
- Člen | 55
Teyras: +1 :-)
Co se týče operátoru in, tak jsem proti. Už od dávnověku
testujeme přítomnost prvku v poli pomocí in_array
, což není
zas tak složitý zápis. Inkonzistence v šablonách která by zavedením
vznikla IMHO toto nepatrné syntaktické vylepšení převažuje.
- hason
- Člen | 23
Možnou odpovědí je šablonovací systém Twig (má plnohodnotný parser vytvářející AST): http://www.twig-project.org/…mplates.html#…