fenom-template / fenom

Template Engine for PHP. Maintainers wanted!
Other
446 stars 108 forks source link

Мелкий косяк в модификаторе IN #269

Closed tsukasa-mixer closed 7 years ago

tsukasa-mixer commented 7 years ago
{set $x = 3}
{set $a = [1, 2, 3, 5  42]}
{set $b = [5, 8, 13, 42]}
{if $x|in:$a}
    true
{/if}
{if $x|in:$b}
     true
{/if}

В обоих случаях будет выведено true array_key_exists - всеж лишний

https://github.com/fenom-template/fenom/blob/master/src/Fenom/Modifier.php#L175

bzick commented 7 years ago

Хорошо, уберу

bzick commented 7 years ago

однако вам стоит использовать оператор присутствия:

{if $x in list $b}
     true
{/if}
bzick commented 7 years ago

Хотя, если вдуматься, менять модификатор не стоит так как это нарушение обратной совместимости. Тем более оператор присутствия полностью решает вашу задачу.

Однако я оставлю замечание в документации.

tsukasa-mixer commented 7 years ago

Принято - спасибо за подсказку.